redis-缓存穿透与缓存雪崩
来源:互联网 发布:xp如何添加网络打印机 编辑:程序博客网 时间:2024/05/18 01:24
缓存穿透
缓存系统,按照KEY去查询VALUE,当KEY对应的VALUE一定不存在的时候并对KEY并发请求量很大的时候,就会对后端造成很大的压力。
如何避免
1.对查询机构为空的情况也进行缓存,缓存的时间设置端一点,或者对该KEY对应的数据insert之后清理缓存。
2.对一定不存在的key进行过滤,可以把所有存在的key放到一个大bitmap中,查询时通过该bitmap过滤。
缓存雪崩
分布式缓存系统面临的问题
缓存一致性问题
1:缓存系统与底层数据的一致性。这点在底层系统是“可读可写”时,写得尤为重要
2:有继承关系的缓存之间的一致性。为了尽量提高缓存命中率,缓存也是分层:全局缓存,二级缓存。他们是存在继承关系的。全局缓存可以有二级缓存来组成。
3:多个缓存副本之间的一致性。为了保证系统的高可用性,缓存系统背后往往会接两套存储系统(如memcache,redis等)
缓存穿透和缓存雪崩
上面有讲述。
缓存数据的淘汰
缓存淘汰的策略有两种: (1)定时去清理过期的缓存。(2)当有用户请求过来时,再判断这个请求所用到的缓存是否过期,过期的话就去底层系统得到新数据并更新缓存。
两者各有优劣,第一种的缺点是维护大量缓存的key是比较麻烦的,第二种的缺点就是每次用户请求过来都要判断缓存失效,逻辑相对比较复杂,具体用哪种方案,大家可以根据自己的应用场景来权衡。
1. 预估失效时间 2.版本号(必须单调递增,时间戳是最好的选择)3.提供手动清理缓存的接口。
0 0
- redis-缓存穿透与缓存雪崩
- 缓存穿透与雪崩
- 缓存穿透与缓存雪崩
- 缓存穿透与缓存雪崩
- 缓存穿透与缓存雪崩
- 缓存穿透与缓存雪崩
- 缓存穿透与缓存雪崩
- 缓存穿透与缓存雪崩
- 缓存穿透与缓存雪崩
- 缓存穿透与缓存雪崩
- 缓存穿透与缓存雪崩
- 缓存穿透与缓存雪崩
- 缓存穿透与缓存雪崩
- 缓存穿透与缓存雪崩
- 缓存穿透与缓存雪崩
- 缓存穿透与缓存雪崩
- 缓存穿透与缓存雪崩
- 缓存穿透与缓存雪崩
- jQuery 从零开始学习 (六) 工具函数
- Ueditor编辑保存的内容网页显示时背景等信息无效果---参考UEditor官方文档之编辑内容展示
- linux中守护进程启停工具start-stop-daemon使用介绍
- Android studio模拟器 Intel HAXM Intel virtualization technology(VT-x) is not turned on 解决办法
- 在jsp页面中添加富文本编译器(ueditor)+ 图片上传功能
- redis-缓存穿透与缓存雪崩
- poj1734 Sightseeing trip
- slot
- POJ 1364 King [差分约束系统]
- 动态代理与类加载器
- python-numpy一些方法总结
- Ueditor富编辑器第二次打开的时候会渲染失败
- Struts2 数据封装机制
- 思维题:抽屉原理 hdu 5776 sum & 51Nod 1103 N的倍数