Memcache
- 系统业务以纯KV的缓存为主,数据量大,并发业务量大,Memcache比较合适
- Memcache将所有数据存储在物理内存中,Redis则有自己的VM机制,当数据超量时,会引发swap,影响性能
- Memcache使用多线程的模式(主线程监听,work子线程工作),而Redis使用单线程,难以充分利用目前的多核CPU
Redis
- Redis支持持久化(虽然不是很完美)
- Reids天然高可用,官方提供了sentinel集群管理工具,很方便
- Reids能存储内容较Memcache的1M要大多了
- Reids代码质量比Memcache好太多了
- Reids支持丰富的数据结构以及相关的功能函数
总结
通过上面的对比可以看出,两种缓存中间件各有千秋,看自己的业务需求场景选择合理的方式。这里也不能说哪个好,哪个就一定不好,需要根据业务需求去做权衡考量。