中介軟體(1)分散式快取
阿新 • • 發佈:2019-01-05
原文:
中介軟體(1)分散式快取
為了提高網站效能,一般都會使用到快取,快取的資料來源包括資料庫,外部介面等,快取一般分為兩種,本地快取和分散式快取,這裡主要總結的是分散式快取。
Memcached vs Redis
最常用的分散式快取是Redis和Memcached,它們都是分散式快取技術中的一種,可能大部分的開發人員都聽說或者接觸過,但是很少有人認真分析它們之間有什麼不同,以及使用場景。
Memcached是 我們從以下幾個方面對它們進行比較。
網路IO模型
Memcached是多執行緒處理。
Redis是單執行緒處理。
記憶體管理機制
Memcached是使用預分配的記憶體池的方式。
Redis是現場申請記憶體的方式。
支援的資料型別
Memcached僅支援key/value。
Redis除了支援key/value外,還支援list,set,sorted Set和Hash,支援的資料型別更豐富。
持久化
Memcached不支援持久化的。
Redis支援持久化,有兩種持久化策略:基於RDB快照和AOF日誌。
叢集
Memcached和Redis都支援叢集部署。
效能
由於Memcached使用多執行緒,所以總體上效能要優於Redis。
應用場景
通過上面這幾方面的比較,基本上可以確定它們的應用場景:
1,首先Memcached和Redis都可以作為分散式快取實現技術中的一種。
2,如果需要支援除key/value外更多的資料型別,請選擇Redis。
3,如果需要支援資料的持久化,請選擇Redis。
4,如果對快取效能要求極高,請考慮Memcached。