1. 程式人生 > >中間件(1)分布式緩存

中間件(1)分布式緩存

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)分布式緩存