redis学习笔记(6)—— redis常见问题(高概率面试题)

redis学习笔记(6)—— redis常见问题 (高概率面试题)

1.缓存雪崩

缓存雪崩的问题为: 1.数据在同一时刻失效,用户的请求都转变访问了数据库,造成数据库过载,导致服务堵塞甚至宕机。2. redis服务器宕机的话,也会造成缓存雪崩。

缓存雪崩的解决方法为: 第一种解决办法为,设置随机有效期,使得数据不会在同一时刻失效。第二种解决办法为,设置多级缓存或者搭建redis集群。

2.缓存击穿

缓存击穿的问题为: 当某一时刻,某一数据失效了,但是此数据访问量较大,造成访问数据库的量较大,导致服务阻塞(但这个可能性很小,一般场景中对某一数据不会有那么大的访问量,数据库服务能够承受一点压力),一般不需要解决。

3.缓存穿透

缓存穿透问题: 客户端访问数据,redis中没有存储,造成缓存穿透

解决办法:

  1. 在从数据库查询得到的数据,放入redis(但是如果有用户恶意访问,访问大量不存在的数据,此方法会造成redis占用太多的内存,导致服务器资源占用过高。)
  2. 采用布隆过滤器,在过滤器中放入可访问的数据ID,如果没有ID便返回无,如果有在访问数据库(布隆过滤器采用hash值来判断值是否可能存在)。 大概意思就是,过滤器采用hash值来存储所有键,并且hash所在位置是可覆盖的,如果搜索的值的hash值所在位置为0,则这个数一定不存在,如果该位置为1,则该值可能存在。 布隆过滤器就是链式存储hash链表。关于布隆过滤器有需要的话,可以另写一篇博客来介绍,这里就不做过多介绍了。
  3. 采用 互斥分布式锁

4.手动高亮tip

哈哈哈,最近很懒啊,都没有每天准时更新博客了。要更努力了。后面还会出一些关于redis的常见问题,大家按需关注呐。如果有问题请私信或留言。

前路浩浩荡荡,万物皆可期待

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值