缓存雪崩缘由:大批次的缓存数据,同一时刻过时redis
解决方案:缓存
一、尽量避免全部缓存在同一时刻过时,即:合理调整过时策略select
二、对条件加锁数据
伪代码:db
public ProductselectProduct(String id){di
Product product;解决方案
product=select from redis;sync
if(product==null){return
synchronize(id){
Product product=select from redis;
if(product==null){
Product product=select from db;
insert product into redis;
}
}
}
return product;
}