緩存雪崩緣由:大批次的緩存數據,同一時刻過時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;
}