如果redis宕机了咋怎:
加个try-catch
缓存击穿:
商品key 在缓存中失效,在大量数据进行访问的时候,会对数据库造成冲击!
解决方案:
分布式锁:
第一种方案:set() setex, setnx
第二种方案:redission
缓存穿透:
指用户查询数据库的时候,数据在数据库中根本就不存在!
if(key){
// 缓存
}else{
// db
// 如果db 中获取到的数据为空
if(getDB){
set(key,null)
}else {
// 不管!
}
}
解决方案:
给一个null 值!
缓存雪崩:缓存中多个 key 同时失效!高并发情况下!
解决方案:
设置key的过期时间不能一致!