Memcache
- 系統業務以純KV的緩存爲主,數據量大,併發業務量大,Memcache比較合適
- Memcache將所有數據存儲在物理內存中,Redis則有自己的VM機制,當數據超量時,會引發swap,影響性能
- Memcache使用多線程的模式(主線程監聽,work子線程工作),而Redis使用單線程,難以充分利用目前的多核CPU
Redis
- Redis支持持久化(雖然不是很完美)
- Reids天然高可用,官方提供了sentinel集羣管理工具,很方便
- Reids能存儲內容較Memcache的1M要大多了
- Reids代碼質量比Memcache好太多了
- Reids支持豐富的數據結構以及相關的功能函數
總結
通過上面的對比可以看出,兩種緩存中間件各有千秋,看自己的業務需求場景選擇合理的方式。這裏也不能說哪個好,哪個就一定不好,需要根據業務需求去做權衡考量。