Redis与其他缓存框架的对比
近來在吸收新知識和復習以前所學,但一直沒有好好梳理一下。為了將“內化”所學,也是時候做個總結了。Redis和Memcache是當前緩存層討論的最多解決方案。我們需要根據實際的使用場景來決定選擇哪個。
Redis和Memcache本質上都是基于k/v實現的緩存,但是Memcache正如其名,依賴于內存,不支持數據的持久化,服務器關閉后數據丟失。而Redis在很多方面具備數據庫的特征,或者說就是一個數據庫系統,可以通過RDB快照或者AOF日志將數據持久化到磁盤,支持master-slave機制的數據備份;
在存儲小于100k的數據,Redis具有性能上的優勢,而數據量大于100k,Memcache性能更好;
Redis只支持單線程請求,一個Redis進程只使用單核,所有命令串行執行,并發情況下不需要考慮數據一致性。但是可以通過多個Redis進程使用多核。而Memcache可以充分發揮多核優勢,單實例吞吐量極高,可以達到幾十萬QPS;
在內存利用率上Memcache更高,但如果Redis使用hash結構做k/v存儲,由于其組合式的壓縮,內存利用率會高于Memcache;
支持數據類型上,Memcache只支持k/v類型的數據,而Redis還支持list,set,zset,hash等數據結構,并且Redis支持服務器端的數據操作,而Memcache需要將數據拿到客戶端進行修改再set回去,大大增加了網絡IO和數據的體積,如果需要緩存能進行更復雜的數據結構和操作,那么Redis更適合。
總結
以上是生活随笔為你收集整理的Redis与其他缓存框架的对比的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redis提供的持久化机制(RDB和AO
- 下一篇: 为什么用redis?