MemCache
- 多线程、异步I/O,可以充分利用多核 CPU 的优势,性能优秀
- 功能简单,使用内存存储数据
- 限制
- key 小于 250B
- value 小于 1M
- key 最大失效时间小于 30 天
- 只支持 K-V 结构,不支持持久化和主从同步
Redis
- 单线程(可以借助多进程,以更好的发挥单机性能)
- 异步非阻塞I/O(多路复用)
- 避免多线程上下文切换的代价
- 避免多线程造成各种锁的问题
- 数据在内存存储,支持持久化
- 支持更多的数据类型,list、hash、set等
- 主从 Sentinel +集群 Cluster,能够提供高可用服务