缓存雪崩

观点

原有缓存失效,新缓存未到来时代,原本都请求缓存的,现在都去接见数据库了。短时间内对
数据库、CPU、内存造成伟大压力,严重时可导致数据库宕机,从而引起一系列连锁反应,导致系统溃逃。

解决方案

1.并发量要求不大的时刻,可以加锁行列,控制最大接见数。
2.给缓存加上标识,若是过时,则举行缓存更新。提高缓存命中率,降低数据库接见。
3.为每个key设置失效时间。

缓存穿透

观点

在数据库中查询效果没有,返回空,那么缓存中一定也没有,两次无用查询。

解决方案

1.接纳布隆过滤器,将可能的值hash到一个足够大的bitmap里,通过bitmap可以过滤掉一个一定不存在的值,从而削减对缓存和数据库无用的接见。
2.接纳暴力缓存方式,不管查询数据库效果是不是为空,都举行缓存。但这个缓存有用时间设置比较短,一样平常不跨越5分钟,当下次举行更新后就可以取到值。

缓存预热

观点

系统刚上线,许多缓存实在都还没有,那么需要对缓存举行初始化,削减对数据库的接见。

缓存更新

缓存更新除了缓存服务器自带的缓存失效计谋之外(Redis 默认的有 6 中计谋可供选择:volatile-lru、volatile-ttl、volatile-random、allkeys-lru、allkeys-random、no-enviction)
我们还可以凭据营业需要举行自定义更新计谋,常见的有:
1.准时更新
2.查询是否过时,若是过时则查询数据库,然后更新缓存。

,

联博统计

www.xxzs1998.com采用以太坊区块链高度哈希值作为统计数据,联博以太坊统计数据开源、公平、无任何作弊可能性。联博统计免费提供API接口,支持多语言接入。

,

缓存降级

观点

当接见量剧增、服务出现问题、或者非焦点服务影响了焦点服务的性能时,仍然需要保障服务可用时,需要对缓存降级。好比淘宝天猫双十一流动时,若是焦点服务受到影响,那么那些相似产物推荐的服务缓存就可以举行降级,只管对系统有损,但为了焦点服务服务正常使用,必须举行降级。但有些服务就无法举行降级好比说:支付、购物车。应为他们都是焦点服务。那这种我们只能通过加机械、加接见行列、熔断机制举行高可用的了。