缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题( 五 )
另外也有一个更为简单粗暴的方法 , 如果一个查询返回的数据为空(不管是数据不存在 , 还是系统故障) , 我们仍然把这个空结果进行缓存 , 但它的过期时间会很短 , 最长不超过五分钟 。 通过这个直接设置的默认值存放到缓存 , 这样第二次到缓冲中获取就有值了 , 而不会继续访问数据库 , 这种办法最简单粗暴!
把空结果 , 也给缓存起来 , 这样下次同样的请求就可以直接返回空了 , 即可以避免当查询的值为空时引起的缓存穿透 。 同时也可以单独设置个缓存区域存储空值 , 对要查询的key进行预先校验 , 然后再放行给后面的正常缓存处理逻辑 。
三、缓存预热
缓存预热这个应该是一个比较常见的概念 , 相信很多小伙伴都应该可以很容易的理解 , 缓存预热就是系统上线后 , 将相关的缓存数据直接加载到缓存系统 。 这样就可以避免在用户请求的时候 , 先查询数据库 , 然后再将数据缓存的问题!用户直接查询事先被预热的缓存数据!
解决思路:
推荐阅读
- 虞姬|王者荣耀:虞姬为什么不能出暗影战斧,难道没听过穿透流打法吗?
- 张飞|边路张飞终于来了,专精装附带伤害和穿透,未来会是一流抗压坦边
- 打野|了解穿透机制,这样的干货知识不能错过
- |英雄联盟:法穿鞋的18点穿透能带来什么?理性分析其实际效果
- 百里守约|萧玦“穿透狙”将成历史,百里守约史诗级削弱。
- 暗影战斧|拥有物理穿透的三级红刀贪婪之噬,能否代替暗影战斧/碎星锤?
- 周泰|三国志战略版:穿透力最强的队伍,月卡党的噩梦,这吴骑杀疯了!
- 狄仁杰|小天离开赛场是谁的错?Doinb打抱不平,雪崩时没有一片雪花是无辜的
- 穿越火线|CF趣味问答:唯一一款穿透力有所强化的AK你知道吗?
- 并发经验八年架构师:带你轻松解决缓存在高并发场景下的问题