1. 程式人生 > >中介軟體(1)分散式快取

中介軟體(1)分散式快取

原文: 中介軟體(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。