大到阿里,小到三线公司,缓存在大型分布式系统中的最佳应用( 六 )


(3)多级缓存:比如一级使用本地缓存,二级采用分布式Cahce,三级采用分布式Cache+本地持久化;
方式很多,需要根据业务场景灵活选择 。
3、缓存雪崩
雪崩是指当大量缓存失效时,导致大量的请求访问数据库,导致数据库服务器,无法抗住请求或挂掉的情况 。
解决方法:
(1)合理规划缓存的失效时间;
(2)合理评估数据库的负载压力;
(3)对数据库进行过载保护或应用层限流;
(4)多级缓存设计,缓存高可用 。
4、缓存穿透
缓存一般是Key,value方式存在,当某一个Key不存在时会查询数据库,假如这个Key,一直不存在,则会频繁的请求数据库,对数据库造成访问压力 。
解决方法:
(1)对结果为空的数据也进行缓存,当此key有数据后,清理缓存;
(2)一定不存在的key,采用布隆过滤器,建立一个大的Bitmap中,查询时通过该bitmap过滤 。




推荐阅读