自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何用Redis緩存改善數(shù)據(jù)庫查詢性能?

安全 云安全 其他數(shù)據(jù)庫 Redis
調(diào)整一個關(guān)系型數(shù)據(jù)庫以實現(xiàn)高性能查詢是一個困難的工作。如果優(yōu)化數(shù)據(jù)模型和調(diào)整查詢方式都不起作用,那么管理員可以使用一個諸如Redis這樣的緩存技術(shù),這是一個提供內(nèi)存內(nèi)和持久數(shù)據(jù)存儲的關(guān)鍵值數(shù)據(jù)存儲方法。

調(diào)整一個關(guān)系型數(shù)據(jù)庫以實現(xiàn)高性能查詢是一個困難的工作。如果優(yōu)化數(shù)據(jù)模型和調(diào)整查詢方式都不起作用,那么管理員可以使用一個諸如Redis這樣的緩存技術(shù),這是一個提供內(nèi)存內(nèi)和持久數(shù)據(jù)存儲的關(guān)鍵值數(shù)據(jù)存儲方法。

[[132392]]

因為Redis具有在數(shù)據(jù)存儲中快速讀寫數(shù)據(jù)的能力,所以它比關(guān)系型數(shù)據(jù)庫更具有性能優(yōu)勢。但是,關(guān)鍵值數(shù)據(jù)存儲是簡單的;它們沒有一個類似于SQL的查詢語言或者結(jié)構(gòu)化的數(shù)據(jù)模型。相反,它們有一個把鍵值作為與數(shù)值相關(guān)的標(biāo)識符來使用的簡單字典或哈希模式。管理員使用這些鍵來進(jìn)行數(shù)值的存儲和檢索。

鍵值存儲是簡單快速的,它可用于實現(xiàn)豐富數(shù)據(jù)模型和關(guān)系型數(shù)據(jù)庫查詢功能的良好匹配。但是,有時候還是使用鍵值與關(guān)系型數(shù)據(jù)庫的組合為好。此外,還有很多商業(yè)支持的鍵值數(shù)據(jù)庫,包括Redis、Riak和Areospike等。

為了運行一個優(yōu)化熱門查詢性能的Redis緩存,首先應(yīng)確定你希望緩存的查詢結(jié)果。其中,應(yīng)重點關(guān)注最常用的和最耗時的查詢,然后確定應(yīng)緩沖查詢中的數(shù)據(jù)。為簡便起見,緩存查詢返回的所有列值。

為鍵值定義一個命名約定;可以使用行主鍵和列名的組合來構(gòu)造密鑰。例如,其主鍵ID為 198278的 產(chǎn)品描述可以‘198278:descry’的鍵值進(jìn)行存儲。確保你的命名規(guī)則是簡單和規(guī)則驅(qū)動的,以便于使用最少的代碼來實現(xiàn)鍵的程序化創(chuàng)建。

接下來,確定是運行Redis緩存作為自助管理服務(wù)還是運行亞馬遜的ElastiCache。運行用戶自己的Redis實例將賦予管理人員對緩存的完全控制權(quán)。而這一控制權(quán)意味著靈活性,例如當(dāng)有超出容量的情況出現(xiàn)時,管理人員有使用現(xiàn)有保留實例的權(quán)力。

此外,當(dāng)用戶想要把應(yīng)用程序從一家云計算供應(yīng)商遷移至另一家時,他們會發(fā)現(xiàn)完整的管理控制權(quán)限是非常有用的。

如果用戶選擇運行一個自助管理的Redis實例,可下載服務(wù)器。Redis的客戶端支持30種以上編程語言——從Java和Python到Prolog和Smalltalk。

已經(jīng)使用AWS環(huán)境的企業(yè)可能會想要使用ElastiCache。除了諸如托管打補丁這樣的優(yōu)點之外,亞馬遜ElastiCache支持一系列高速緩存優(yōu)化的節(jié)點類型,具體包括從中型到2X的m3節(jié)點、從大型到8X的r3節(jié)點以及從微型到中型的t2節(jié)點。ElastiCache還支持一些上一代的節(jié)點類型,例如選擇m1、m2、t1和c1節(jié)點。

ElastiCache還支持多個可用區(qū)。如果有一個節(jié)點發(fā)生故障,一個讀操作復(fù)制節(jié)點將取代故障節(jié)點。任何需要確保應(yīng)用程序運行的DNS變更都是自動完成的,同時會創(chuàng)建一個新的讀操作副本。ElastiCache允許基于單位時間使用率的按需定價模式,以及一年期或三年期預(yù)付費的節(jié)點使用條款。完整定價清單可以在這里找到。

如果使用Redis緩存和亞馬遜ElastiCache,那么就可以從AWS管理控制臺啟動一個集群。除了設(shè)置Redis服務(wù)外,還需要修改應(yīng)用程序代碼以便于能夠使用緩存。一個常用的模式就是,檢查緩存中是否存在有一個鍵值,如果沒有就執(zhí)行一個SQL查詢以檢索數(shù)據(jù),然后將其存儲在緩存中。當(dāng)緩沖存滿時,可以配置Redis刪除舊數(shù)據(jù),這樣就不需要用戶使用專門的代碼來處理緩存存滿的情況了。

原文鏈接:http://www.searchcloudcomputing.com.cn/showcontent_88768.htm
 

責(zé)任編輯:Ophira 來源: TechTarget中國
相關(guān)推薦

2019-09-11 10:23:58

Redis性能存儲

2019-07-11 08:45:00

MySQL數(shù)據(jù)庫緩存

2014-07-04 10:41:19

redis數(shù)據(jù)庫緩存

2011-03-23 13:44:29

分散數(shù)據(jù)數(shù)據(jù)庫性能

2011-04-18 09:03:36

數(shù)據(jù)庫查詢

2021-01-31 17:50:41

數(shù)據(jù)庫查詢程序員

2010-05-27 17:16:20

MySQL數(shù)據(jù)庫

2011-03-17 14:48:49

高級掃描數(shù)據(jù)庫查詢

2011-08-05 15:51:44

MySQL數(shù)據(jù)庫緩存

2018-03-28 09:26:43

數(shù)據(jù)庫緩存層優(yōu)化

2011-07-18 14:00:29

RailsOracle

2011-03-16 13:57:21

SQL Server數(shù)據(jù)庫查詢

2015-03-13 19:34:41

2023-10-08 08:09:16

數(shù)據(jù)庫性能服務(wù)器

2023-07-12 08:55:16

PawSQL數(shù)據(jù)庫

2014-06-10 15:07:19

Oracle數(shù)據(jù)庫優(yōu)化

2011-07-27 13:58:48

EclipseMySQL

2022-12-05 08:00:00

數(shù)據(jù)庫向量化數(shù)據(jù)庫性能

2019-07-23 11:41:45

數(shù)據(jù)庫SQLDocker

2021-09-14 09:17:55

數(shù)據(jù)庫安全網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊
點贊
收藏

51CTO技術(shù)棧公眾號