Redis入门 | 缓存穿透、击穿、雪崩
发布日期:2022-02-21 17:40:23
浏览次数:43
分类:技术文章
本文共 498 字,大约阅读时间需要 1 分钟。
Redis入门 | 缓存穿透、击穿、雪崩
1. 缓存穿透:
用户高并发环境下访问数据库和缓存中都不在的数据称为穿透现象。
解决方法:
- 禁用ip, 限制ip访问
- 限制每秒访问次数
- 使用布隆过滤器的方法解决
布隆过滤器: 是一个很长的二进制向量和一系列随机映射函数。
可以用于检索一个元素是否在一个集合中
,优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。
由于hash碰撞问题,可能有多个key有相同的位置,可以得出结论 :
布隆过滤器认为数据存在,那么数据可能存在,如果认为数据不存在,那么一定不存在。
优化方法 : 可以用扩容二进制向量位数和增加hash函数的个数来降低hash碰撞的几率。
2. 缓存击穿:
当某一个热点数据在缓存中突然失效,导致大量用户直接访问数据库,导致并发压力过高造成异常,这种情况称为击穿.
解决方法:
- 尽可能将热点数据的超时时间设置长一点,且设定多级缓存,将超时时间采用随机算法。
3. 缓存雪崩:
在缓存服务器中,由于大量缓存数据失效导致用户访问的命中率过低,导致直接访问数据库。
解决方法:
设定多级缓存,设定超时时间使用随机算法。
转载地址:https://blog.csdn.net/weixin_40597409/article/details/115495415 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年03月29日 05时44分46秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java wav 切割_java切割音频文件
2019-04-21
java获取服务器编码_使用Java代码获取服务器性能信息及局域网内主机名
2019-04-21
mysql 导出json_如何将MySQL数据库导出到JSON?
2019-04-21
linux 离线安装中文字库,centos7 离线安装字体fontconfig
2019-04-21
鸿蒙系统chromeos2.0,【华为鸿蒙系统】鸿蒙OS 2.0 适配计划曝光
2019-04-21
android高德地图设置缩放级别,设置地图中心点/级别
2019-04-21
dv4 安装linux,linux安装中的问题
2019-04-21
gmat阅读.html,GMAT阅读“Ecoefficiency”文章深度分析
2021-06-24
html5 带图片导航,html5 带声音的导航
2021-06-24
avs3 mkv格式封装_将你的视频无损封装成MP4,非转码哦!
2021-06-24
java http服务端_HTTP协议经典面试题整理及答案详解
2021-06-24
mysql 递归查找父节点_数据结构与算法—浅显易懂的二叉排序(查找)树
2021-06-24
body里写注释 postman_使用 Postman 做 API 自动化测试
2021-06-24
python3的配置文件类单例实现_Servlet是单例还多例
2019-04-21
写一个饿汉单例模式的例子_看完这篇单例模式,终于敢和面试官对线了
2019-04-21
华为手机的分类有何区别_动画有哪些分类?又有何区别?
2019-04-21
wxpython 表格重置_wxpython清除小部件并创建新布局
2019-04-21