缓存之redis

本文探讨了Redis中五种主要的数据类型:List、Set、String、Hash和Zset,以及缓存的重要概念——缓存穿透、缓存击穿和缓存雪崩。缓存穿透解决方案包括设置空值并设定过期时间,以及使用布隆过滤器。缓存击穿处理方式是采用锁机制,防止热点key失效时大量请求直接到达数据库。缓存雪崩的解决策略涉及Redis的高可用性、限流降级、数据预热和设置不同的过期时间。
摘要由CSDN通过智能技术生成

reids存放的5种类型:List,Set,String,hash,zset

redis的几个重要概念:缓存穿透,缓存击穿,缓存雪崩。

缓存穿透:穿透,字面理解,就是穿过了的意思。为什么穿过了 ,不存在嘛。所以,缓存穿透的意思是:大量的请求过来,而缓存不存在此key,所以就直接去数据库查询,造成数据库压力。

     解决办法:1.将查询不到的值在缓存中置空,一定要设置过期时间。因为如果不设置过期时间,那么数据库中增加了此值后,会呆滞数据库和缓存不一致的情况。

                     2.布隆过滤器

缓存击穿:击穿,字面理解,击,有千军万马之意。就是缓存失效(到过期时间)引起的请求直接发数据库。和缓存雪崩的区别是针对一个“热点key”。

   解决办法:缓存击穿后,加锁。单机加Lock锁和synchronized锁,分布式中用分布式锁,第一个请求过来过来放入缓存。

缓存雪崩:缓存大量集中失效。

 解决办法:1.redis高可用     2.限流降级   3.数据预热    4.不同的过期时间。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值