redis的五种数据结构及其缓存
⼀、
1)value其实不仅可以是String,也可以是数字。
常规key-value缓存应⽤;常规计数:微博数,粉丝数等。
2)hash特别适合⽤于存储对象。
可以使你像在数据库中 Update ⼀个属性⼀样只修改某⼀项属性值。
3)list list就是链表,
⽐如微博的关注列表,粉丝列表,做分页
Redis list的实现为⼀个双向链表,即可以⽀持反向查和遍历
4)set特殊之处在于set是可以⾃动排重的。
5)Sortedset 使得集合中的元素能够按score进⾏有序排列。
直播时排⾏信息包含直播间在线⽤户列表,
各种礼物排⾏榜
⼆、
redis支持的五种数据类型缓存穿透:⼀般的缓存系统,都是按照key去缓存查询,
如果不存在对应的value,就应该去后端系统查
如果key对应的value是⼀定不存在的,并且对该key并发请求量很⼤,
就会对后端系统造成很⼤的压⼒。这就叫做缓存穿透
解决⽅案:将⼀定存在的key或者⼀定不存在的key 放⼊⼀个⼤的数据查询的地⽅然后查询时可以起到过滤效果
缓存雪崩:就是当重启服务器或者⼤量缓存数据集中在某个节点失效会对后端产⽣很⼤压⼒
解决⽅案:添加节点尽量错开缓存时间
三、redis的aof和rdb的区别.
RDB⽅式是通过快照⽅式完成的持久化
定时⽣成 RDB 快照⾮常便于进⾏数据库备份建议使⽤为了安全两种都要使⽤
RDB 是⼀个⾮常紧凑(compact)的⽂件,它保存了 Redis 在某个时间点上的数据集
AOF持久化以⽇志的形式记录服务器所处理的每⼀个写、删除操作,查询操作不会记录,以⽂本的⽅式记录,可以打开⽂件看到详细的操作记录。
对于相同数量的数据集⽽⾔,AOF⽂件通常要⼤于RDB⽂件。RDB 在恢复⼤数据集时的速度⽐ AOF 的恢复速度要快。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论