码迷,mamicode.com
首页 > 其他好文 > 详细

缓存击穿

时间:2018-10-11 23:47:52      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:sdn   查找   art   分享图片   any   数据库   csdn   适合   比例   

一。什么数据适合缓存

需要从三个方面分析

1. 数据访问频率 ↑↑

2. 读写比例     读多与少 ↑

3. 数据一致性  ↑↓

技术分享图片

二。 什么是缓存击穿

在高并发下,多线程同时查询同一个资源,如果缓存中没有这个资源,那么这些线程都会去数据库查找,对数据库造成极大压力,缓存失去存在的意义.打个比方,数据库是人,缓存是防弹衣,子弹是线程,本来防弹衣是防止子弹打到人身上的,但是当防弹衣里面没有防弹的物质时,子弹就会穿过它打到人身上. 

三。 如何解决

1. 定时更新

  适合key 比较集中的

2. 检查更新

  每次查询检查是否需要更新

  缺点: 缓存依赖于请求, 没有请求就不换更新缓存

 

3. 分级缓存

  使用两个缓存池 l1, l2  l1未命中数据, 加锁访问数据库, 其他请求访问l2, 数据响应后, 更新l1 ,l2缓存池

4. 加锁

  1. 访问缓存时加锁

  2. 缓存未命中时加锁

  3. 从缓存未命中后加锁, 双重取缓存

  4. 互斥锁

 

原文: https://blog.csdn.net/sanyaoxu_2/article/details/79472465

缓存击穿

标签:sdn   查找   art   分享图片   any   数据库   csdn   适合   比例   

原文地址:https://www.cnblogs.com/lihuanghe/p/9775597.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!