Redis 常见问题-缓存穿透
2022/4/15 19:12:57
本文主要是介绍Redis 常见问题-缓存穿透,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
问题描述:
* 针对 DB 中不存在的数据源,每次请求缓存和数据库都不存在
造成后果:
* 应用服务器压力变大
* Redis 命中率大幅度降低
* `数据库压力巨增甚至 down 掉`
* 该现象对于 Redis 无影响,奔溃的是数据库
造成原因:
* 频繁访问不存在数据
解决方案:
1. 空值缓存:查询数据库返回为 null 时也进行缓存,但一定设置很短的过期时间
2. 实时监控:对 Redis 命中率进行实时监控,当发现命中率极速降低时,人为排查访问对象和访问数据,和运维人员配合,可以设置黑名单限制服务
3. 设置访问白名单:使用 bitmaps 类型定义一个可以访问的名单,名单 id 作为 bitmaps 的偏移量,每次访问和 bitmap 里面的 id 进行比较,如果访问 id 不在 bitmaps 里面,进行拦截,不允许访问。
4. 布隆过滤器:它实际上是一个很长的二进制向量 (位图) 和一系列随机映射函数(哈希函数)。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。
这篇关于Redis 常见问题-缓存穿透的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24Redis资料:新手入门快速指南
- 2024-12-24Redis资料:新手入门教程与实践指南
- 2024-12-24Redis资料:新手入门教程与实践指南
- 2024-12-07Redis高并发入门详解
- 2024-12-07Redis缓存入门:新手必读指南
- 2024-12-07Redis缓存入门:新手必读教程
- 2024-12-07Redis入门:新手必备的简单教程
- 2024-12-07Redis入门:新手必读的简单教程
- 2024-12-06Redis入门教程:从安装到基本操作
- 2024-12-06Redis缓存入门教程:轻松掌握缓存技巧