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

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

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

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

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

相关推荐
想摆烂的不会研究的研究生8 小时前
每日八股——Redis(1)
数据库·经验分享·redis·后端·缓存
至善迎风12 小时前
Redis完全指南:从诞生到实战
数据库·redis·缓存
QQ_43766431414 小时前
Redis协议与异步方式
数据库·redis·bootstrap
oMcLin15 小时前
如何在 Debian 10 上配置并优化 Redis 集群,确保低延迟高并发的实时数据缓存与查询
redis·缓存·debian
Codeking__18 小时前
Redis初识——什么是Redis
数据库·redis·mybatis
Full Stack Developme18 小时前
Redis 可以实现哪些业务功能
数据库·redis·缓存
ohoy19 小时前
RedisTemplate 使用之Set
java·开发语言·redis
想摆烂的不会研究的研究生20 小时前
每日八股——Redis(2)
数据库·redis·缓存
optimistic_chen20 小时前
【Redis系列】主从复制
linux·数据库·redis·缓存·中间件·命令行·主从复制
indexsunny21 小时前
互联网大厂Java面试实战:Spring Boot与微服务在电商场景的应用解析
java·spring boot·redis·微服务·kafka·gradle·maven