華為云計算 云知識 分布式緩存有哪些
分布式緩存有哪些

分布式緩存能夠處理大量的動態(tài)數(shù)據(jù),因此比較適合應(yīng)用在Web 2.0時代中的社交網(wǎng)站等需要由用戶生成內(nèi)容的場景。從本地緩存擴(kuò)展到分布式緩存后,關(guān)注重點從CPU、內(nèi)存、緩存之間的數(shù)據(jù)傳輸速度差異也擴(kuò)展到了業(yè)務(wù)系統(tǒng)、 數(shù)據(jù)庫 、分布式緩存之間的數(shù)據(jù)傳輸速度差異。

常用的分布式緩存包括Redis和Memcached。

1、Memcached

Memcached是一個高性能的分布式內(nèi)存對象緩存系統(tǒng),用于動態(tài)Web應(yīng)用以減輕數(shù)據(jù)庫負(fù)載。Memcached通過在內(nèi)存中緩存數(shù)據(jù)和對象來減少讀取數(shù)據(jù)庫的次數(shù),從而提高動態(tài)、數(shù)據(jù)庫驅(qū)動網(wǎng)站的速度。

特點:哈希方式存儲;全內(nèi)存操作;簡單文本協(xié)議進(jìn)行數(shù)據(jù)通信;只操作字符型數(shù)據(jù);集群由應(yīng)用進(jìn)行控制,采用一致性哈希算法。

限制性:數(shù)據(jù)保存在內(nèi)存當(dāng)中的,一旦機(jī)器重啟,數(shù)據(jù)會全部丟失;只能操作字符型數(shù)據(jù),數(shù)據(jù)類型貧乏;以root權(quán)限運(yùn)行,而且Memcached本身沒有任何權(quán)限管理和認(rèn)證功能,安全性不足;能存儲的數(shù)據(jù)長度有限,最大鍵長250個字符,儲存數(shù)據(jù)不能超過1M。。

2、Redis

Redis是一個開源的使用ANSI C語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,并提供多種語言的API。

特點:

Redis支持的數(shù)據(jù)類型包括:字符串、string、hash、set、sortedset、list;Redis實現(xiàn)持久化的方式:定期將內(nèi)存快照寫入磁盤;寫日志;Redis支持主從同步。

限制性:單核運(yùn)行,在存儲 大數(shù)據(jù) 的時候性能會有降低;不是全內(nèi)存操作;主從復(fù)制是全量復(fù)制,對實際的系統(tǒng)運(yùn)營造成了一定負(fù)擔(dān)。