有key非常热点,非常频繁,集中式高并发key在失效瞬间,击穿缓存 + 直接请求mysql数据库像凿开了一个洞
方法1:key永不过期方法2:互斥锁,等待第一个请求构建缓存完成后,再释放锁小例子:
//设置“锁”if(redis.set("lock", "1", "EX 180", "NX")){ //业务逻辑 ....... //执行完业务逻辑后,释放锁 redis.delete("lock");}
//设置“锁”
if(redis.set("lock", "1", "EX 180", "NX")){
//业务逻辑
.......
//执行完业务逻辑后,释放锁
redis.delete("lock");
}