redis:缓存预热、缓存雪崩、缓存击穿、缓存穿透

一.缓存预热

缓存预热就是系统启动前,提前将相关的缓存数据直接加载到缓存系统。避免在用户请求的时候,先查询数据库,然后再将数据缓 存的问题!用户直接查询事先被预热的缓存数据! 

二.缓存雪崩

在一个较短的时间内,缓存中较多的key集中过期 

缓存雪崩就是瞬间过期数据量太大,导致对数据库服务器造成压力。如能够有效避免过期时间集中,可以有效解决雪崩现象的出现 (约40%),配合其他策略一起使用,并监控服务器的运行数据,根据运行记录做快速调整

三.缓存击穿

是某一个热点key在高并发访问的情况下,突然失效,导致大量的并发打进mysql数据库的情况

 使用分布式锁保证只有一个线程查询数据库,其他线程采用重试的方式进行获取

 

四.缓存穿透

1.redis大面积未命中

2.出现非正常的URL访问

解决办法:为不存在的key也设置一个空对象,但存的时间很短

后续会使用java代码去解决击穿和穿透的问题。。。。

原文地址:https://www.cnblogs.com/wwjj4811/p/12759272.html