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

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

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

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

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

相关推荐
渣渣盟18 分钟前
当 Redis 集群发生主从切换(Failover)时,Flink 任务会崩溃吗?如何利用 Sentinel 实现高可用?
redis·flink·sentinel
海上小飞龙15 小时前
Redis 分布式锁原理:从 SET NX EX 到 Redisson 看门狗
数据库·redis·分布式
万物皆字节18 小时前
【避坑】使用CacheEvict需要注意的坑
redis
范什么特西1 天前
回答知识总结04(redis)
数据库·redis·缓存
higherzjm2 天前
如何通过Linux命令自动切割nginx和redis日志
linux·redis·nginx
PC2005-cloud2 天前
Redis学习笔记:Cluster 集群读写分离实战,Lettuce + Spring Boot 从配置到验证
redis·笔记·学习
Crazy________2 天前
Redis02:库切换、监控与安全配置
linux·redis·云原生·mybatis
海上小飞龙2 天前
Redis 持久化:RDB 与 AOF
数据库·redis·缓存
hold?fish:palm2 天前
redis中AOF 重写机制解析
数据库·c++·redis
范什么特西2 天前
知识总结04(redis)
数据库·redis·缓存