Redis面试题

2022/10/20

redis的五种数据结构

    字符串   存储的数字时底层采用int,存储的时长字符串 (长度大于39个字节)时,底层采用raw数据结构,存储的是短字符串(长度小于39个字节)时,采用embstr数据结构。

  

 链表  

当链表对象所有字符串对象小于64个字节时,元素数量小于512个,采用ziplist数据结构,其他情况采用双向链表结构

 hash 

存储的元素数量小于512个,所有元素长度小于64个字节,不满足ziplist条件的其他情况采用哈希表

 set

当存储的元素都是整数,元素数量小于512个时采用inset

不满足inset条件的其他情况采用哈希表

 zset

存储元素数量小于128,所有元素长度小于64个字节采用ziplist,不满足ziplist条件的其他情况采用跳表

缓存雪崩

 一句话总结缓存雪崩

在高并发下,大量缓存key再同一时间失效,大量请求直接落在数据库上,导致数据库宕机

 缓存穿透

 一句话总结缓存穿透 

redis缓存中和数据库都没有相关数据(例  用户直接携带id<=0的参数不断发起请求),redis中没有这样的数据,所以不进行拦截,直接被穿透到数据库,导致数据库压力过大宕机。

 缓存击穿

 一句话总结缓存击穿

一个热点key。在不停的扛着高并发,当这个热点key在失效的一瞬间,持续的高并发访问就击破缓存直接访问数据库,导致数据库宕机

 最后总结

 雪崩是大面积的key缓存失效,穿透是redis里不存在这个缓存key;击穿是redis某一个热点key突     然失效,最总受害者都是数据库。

 单线程的redis为什么这么快?

 说一说redis的数据过期淘汰策略

redis中数据过期策略采用定期删除+惰性删除策略

1、定期删除、惰性删除策略是什么?

 2、定时删除+惰性删除策略是如何工作的

 redis和memcached的区别?

 

 哨兵

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值