Redis和Memcached的恩怨情仇
https://mp.weixin.qq.com/s/IYsuizzOqlGzte1hizTKMA
Redis與Memcached對比:
1、資料類型
Redis支援豐富的資料類型,比如string、hash、list、set、zset。
Memcached只支援簡單的key/value資料結構。
2、單執行緒/多執行緒/承載QPS
Redis是單執行緒請求,所有命令串列執行,併發情況下不需要考慮資料一致性問題;性能受限於CPU,單實例QPS在4-6w。
Memcached是多執行緒,可以利用多核優勢,單實例在正常情況下,可以達到寫入60-80w qps,讀80-100w qps。
3、持久化/資料移轉
Redis支援持久化操作,可以進行aof及rdb資料持久化到磁片。
Memcached無法進行持久化,資料不能備份,只能用於緩存使用,且重啟後資料全部丟失。
4、對熱點、bigkey支持的友好度
Redis的big key與熱key類操作,如果qps較高則容易造成Redis阻塞,影響整體請求。
Memcached因為是多執行緒,與Redis相比,在big key與熱key類操作上支援較好。
5、高可用/HA
Redis支援通過Replication進行資料複製,通過master-slave機制,可以即時進行資料的同步複製,支援多級複製和增量複製,master-slave機制是Redis進行HA的重要手段。
Memcached無法進行資料同步,不能將實例中的資料移轉到其他MC實例中。
6、發佈訂閱機制
Redis支援pub/sub消息訂閱機制,可以用來進行消息訂閱與通知。
Memcached不支持發佈訂閱。
7、周邊支持
Redis相對Memcached,周邊工具支援較好,比如遷移、資料分析等方便,目前KCC支援全量和指定首碼等資料分析和刪除功能。
Memcched周邊支持較少,且原生不支持key分析等操作,目前KCC自研實現針對中小memached集群的key分析和指定首碼資料刪除功能。
注:KCC是公司Redis、Memcached、ElasticSearch、Pika管控平臺,目前管理70w+Cache實例,3000+ElasticSearch實例的智慧化運維。
#Redis, Memcached
留言
張貼留言