Redis-缓存

在这里插入图片描述
新增或者更新数据时,创建以后顺便存到redis中去【维护缓存】
获取的时候先从redis缓存中拿数据
如果拿数据的时候为空,则到数据库中拿数据,后再存到redis缓存中去
在这里插入图片描述
大量的商品【包括冷门商品】都进行上面的缓存,那么就很耗内存
针对每个数据进行缓存的时候 维护一个过期时间
查询的时候,我们对缓存时间做延期处理【超时延期】【读延期】,这样每天访问的数据就会一直在缓存中—【数据的冷热分离】

缓存击穿【缓存失效】

	商品上架、批量更新的时候,可能大批商品缓存过期时间一样,大量访问这个商品没有缓存,那个商品也没有缓存,导致大量请求到达数据库这边,导致数据库压力大抖动【但数据库还有】

解决方案
给商品进行过期时间进行随机设置【随机数】

缓存穿透

秒杀商品不小心被删掉,商品在整个后端都没有,导致前端大量请求过来通过get请求都没有【每次查都没有】
另外场景:知道链接规则,造一大堆不存在的商品,进行高并发的请求
解决方案
限流解决
java层面解决:缓存一个空值
在这里插入图片描述
小概率事件:冷门数据突发高并发访问,缓存没有直接打到数据库上【突发性的热点缓存重建导致系统压力暴增问题】
解决措施
双重检测锁解决DCL,加锁后只有一个请求可以重建缓存
在这里插入图片描述

	缓存数据库双写不一致

在这里插入图片描述
在这里插入图片描述
redisson分布式锁解决

缓存雪崩

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值