现在公司一般都是用 Redis 来实现缓存,而且 Redis 自身也越来越强大了!但是我们还是来简单了解他们的区别与共同点
共同点 :
1.都是内存缓存
2.都有过期策略
3.两者的性能都非常高
区别 :
reids | Memcached | |
数据类型 | 支持的数据类型更丰富(支持更复杂的应用场景)比如: list,set,zset,hash | 只支持最简单的 k/v 数据类型 |
持久化 | 支持数据持久化,将内存中数据写入磁盘,重启的时候可以将数据重新加载使用 | 不支持持久化,数据放在内存中 |
灾难恢复机制 | 有(因为数据存在了磁盘中) | 无 |
内存使用完,处理方式不同 | 将不用的数据存入磁盘 | 直接报异常 |
原生的集群模式 | 有 | 无 |
单线程的多路 IO 复用模型 | 多线程,非阻塞 IO 复用的网络模型 | |
支持发布订阅模型、Lua脚本、事务等功能并且,Redis支持更多的编程语言 |