中介軟體 1 分布式快取

2022-02-03 12:56:44 字數 1929 閱讀 7940

原文:中介軟體(1)分布式快取

為了提高**效能,一般都會使用到快取,快取的資料來源包括資料庫,外部介面等,快取一般分為兩種,本地快取和分布式快取,這裡主要總結的是分布式快取。

最常用的分布式快取是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)分布式快取

為了提高**效能,一般都會使用到快取,快取的資料來源包括資料庫,外部介面等,快取一般分為兩種,本地快取和分布式快取,這裡主要總結的是分布式快取。

最常用的分布式快取是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。

分布式訊息中介軟體

一 分布式訊息中介軟體入門 訊息中介軟體主要實現分布式系統中解耦 非同步訊息 流量銷鋒 日誌處理等場景。現在生產中用得最多的訊息佇列有 activemq,rabbitmq,kafka,rocketmq 等。jms 規範 類似於 jdbc 的一套介面規範,但不同的是他是面向的訊息服務,提供一套標準 a...

分布式訊息中介軟體 kafka

在我們大量使用分布式資料庫 分布式計算集群的時候,是否會遇到這樣的一些問題 這個時候,我們就可以用到分布式訊息系統了。雖然上面的描述更偏向於乙個日誌系統,但確實kafka在實際應用中被大量的用於日誌系統。首先我們要明白什麼是訊息系統,在kafka官網上對kafka的定義叫 a distributed...

Redis分布式中介軟體TwemProxy

twemproxy,也叫nutcraker。是乙個twtter開源的乙個redis和memcache 伺服器。redis作為乙個高效的快取伺服器,非常具有應用價值。但是當使用比較多的時候,就希望可以通過某種方式 統一進行管理。避免每個應用每個客戶端管理連線的鬆散性。同時在一定程度上變得可以控制。搜尋...