发布/订阅 pubsub
- 发送者 publish test1 hello
- 订阅者 subscribe test1
- 场景:聊天室,启动多个 redis 去接收订阅消息
- redis1:将消息实时推送给用户
- redis2:存入 zset,用来取某个时间窗口的历史消息、
- redis3:启一个 service ,将最新消息推给 kafka,然后异步存入db
事务
通过multi绑定多个命令一起执行,无论谁先开启事务,exec命令先到达的client,事务先被执行
- 可以 watch 某个 key,如果发生更改,事务不执行
布隆过滤器
RedisBloom模块
- 用小空间解决大量数据匹配,避免缓存穿透
- 有一定的误判率
- 只能增加,不能删除,如果你的业务删除了数据库中的某条数据,无法在布隆过滤器中删除这个key
解决方式
你可以使用布谷鸟过滤器等其他支持删除操作的过滤器,或者缓存一个空 key(随机过期时间)
布隆过滤器升级版
- Counting Bloom Filter
- 布谷鸟过滤器