redis搭配布隆过滤器避免缓存穿透

redis中如果请求的数据不在缓存中,则会直接访问数据库,可以使用布隆过滤器这一模块来处理缓存穿透的问题。

布隆过滤器由二进制位数组和哈希函数组成,向缓存存数据的时候,通过哈希函数计算哈希值,并且在数组中的哈希值位置存入一个二进制值,表示该值存在缓存中,同一个位置可能会有多个值,所以可能会出现判错的情况。

在读取数据的时候,通过哈希函数确定哈希值,在二进制数组中判断是否有该值,如果有则表示数据存在缓存中,直接在缓存中获取;如果没有则通过数据库获取数据。

因为不同的数据通过哈希算法计算的哈希值有可能相同,所以通过哈希在数组中值获取值时,并不一定就是需要的键值;而如果通过哈希值在数组中确定不存在时,数据就一定不存在缓存中。

相关推荐
Fishermen_sail6 小时前
《Redis应用实例》学习笔记,第一章:缓存文本数据
redis
RingWu10 小时前
redis sentinel和redis cluster的主从切换选举过程
redis
AllenO.o11 小时前
Redis五种数据结构详解
java·数据结构·数据库·redis·缓存
onkel in blog12 小时前
【Docker】Docker Compose方式搭建分布式内存数据库(Redis)集群
数据库·redis·分布式·docker
我科绝伦(Huanhuan Zhou)14 小时前
Redis再次开源!reids8.0.0一键安装脚本分享
数据库·redis·开源
小吕学编程16 小时前
Redis从基础到高阶应用:核心命令解析与延迟队列、事务消息实战设计
java·数据结构·redis
liuhongJAVAEn16 小时前
分布式-Redis分布式锁
数据库·redis·分布式
追风赶月、17 小时前
【Redis】Redis的主从复制
数据库·redis
yy鹈鹕灌顶20 小时前
Redis 基础详解:从入门到精通
数据库·redis·缓存
.生产的驴1 天前
SpringBoot 集成滑块验证码AJ-Captcha行为验证码 Redis分布式 接口限流 防爬虫
java·spring boot·redis·分布式·后端·爬虫·tomcat