什么时候倾向于选择redis?
1、复杂数据结构
value是哈希,列表,集合,有序集合等复杂数据结构的时候,选择redis更合适,因为mc无法满足这样的需求。
典型场景:用户消息,评论,订单列表等
2、持久化
mc不支持持久化
但redis持久化的使用需要注意
千万不要将redis作为数据库来使用:
1)redis的定期快照不能保证数据不丢失
2)redis的AOF会降低效率,并且不能支持太大的数据量
缓存场景,开启持久化有什么利弊?
优点:down机重启,内存中能够快速恢复热点数据,分担数据库压力,没有cache预热过程
缺点:redis挂了以后,数据库中数据有修改,可能导致redis中数据不一致
只读场景,或者一些允许不一致的业务场景,可以尝试开启redis持久化功能
3、天然高可用
redis天然支持集群功能,可实现主从复制,读写分离
Redis官方提供了sentinel集群管理工具,能够实现主从服务监控,故障自动转移
Mc想要实现高可用,需要进行二次开发
需要注意的是,大部分业务场景,缓存真的需要高可用吗?
1)存场景,很多时候,是允许cache miss
2)缓存挂了,很多时候可以通过DB读取数据
4、存储的value很大
mc的value存储,最大为1m,如果存储的value很大,只能使用redis
更多Redis相关知识,请访问Redis使用教程栏目!
Atas ialah kandungan terperinci 什么情况下倾向于使用redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!