中間件(1)分布式緩存
阿新 • • 發佈:2017-07-25
cached 常用 多線程處理 類型 使用 memcach lis ron 以及
為了提高網站性能,一般都會使用到緩存,緩存的數據源包括數據庫,外部接口等,緩存一般分為兩種,本地緩存和分布式緩存,這裏主要總結的是分布式緩存。
Memcached和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。
中間件(1)分布式緩存