Redis缓存穿透解决方案
缓存穿透:用户恶意大量查询不存在的数据,导致数据库查询压力增大。
解决方案:未不存在的数据提供指定时间的缓存设置。
Long dataId = 1;
String a = redis.get('data:'+dataId);
if(StringUtils.isBlank(a)){
List listDB = db.get(dataId);
if(CollectionUtils.isNotEmpty(listDB)){
redis.set("data:"+dataId)
}else{
redis.set("data:"+dataId,5*60);
}
}