2022年3月3日 星期四

《面試官別再問》比較 Memcached 與 Redis

Redis相比Memcached來說,擁有更多的資料結構並支援更豐富的資料操作,通常在Memcached裡,你需要將資料拿到客戶端來進行類似的修改再set回去,序列化再反序列化,這大大增加了網路IO的次數和資料體積。在Redis中,這些複雜的操作通常和一般的get/set一樣高效。所以,如果需要快取能夠支援更復雜的結構和操作,那麼在Redis會是不錯的選擇。

與Memcached僅支援簡單的key/value結構的資料記錄不同,Redis支援的資料型別要豐富得多。最為常用得資料型別主要有5中:String、Hash、List、Set、Zset。Redis內部使用一個redisObject物件來表示所有得key和value。

Memcached單個key-value大小有限,一個value最大隻支持1MB,而Redis最大支持512MB;

Memcached只是個內存緩存,對可靠性無要求;而Redis更傾向於內存資料庫,因此對對可靠性方面要求比較高;

從本質上講,Memcached只是一個單一key-value內存Cache;而Redis則是一個數據結構內存資料庫,支持五種數據類型,因此Redis除單純緩存作用外,還可以處理一些簡單的邏輯運算,Redis不僅可以緩存,而且還可以作為資料庫用;

Redis支持集群分布式,也就是說集群本身均衡客戶端請求,各個節點可以交流,可拓展行、可維護性更強大;

沒有留言:

張貼留言