恶意请求大量查询不存在的 Key 会绕过缓存直击数据库,形成缓存穿透。在缓存层前置布隆过滤器可用极小内存代价拦截绝大多数非法查询。
![]()
一、RedisBloom 模块命令
bash
# 创建容量 100 万、误判率 0.1% 的布隆过滤器
BF.RESERVE user_filter 0.001 1000000
# 写入合法用户 ID
BF.ADD user_filter 10086
BF.ADD user_filter 10087
# 查询前先判定是否存在,避免穿透
BF.EXISTS user_filter 99999