共计 233 个字符,预计需要花费 1 分钟才能阅读完成。
缓存穿透
缓存和数据库都没有的数据,eg. 订单号 -1。量大时会导致数据库压力过大。
解决办法:
- 减少合法性校验。
- 应用布隆过滤器,能够判断出有没有。
缓存异样后果
缓存击穿
在缓存生效时被申请,如果量大,会导致数据库压力过大
解决办法:- 热点数据永不过期
数据为空时,加互斥锁,只容许一个申请击穿,击穿完缓存就有了(这个锁应该设成无限次自旋)
缓存雪崩
大量数据同时过期,申请量大会导致数据库压力过大
解决办法:- 热点数据永不过期
- 过期工夫加随机值
- 热点数据扩散到不同分片,防止宕机引起雪崩
- 两层缓存
正文完