redis pub/sub订阅功能的实现

redis支持订阅模式
之前只知道redis的watch和zookeeper的watch功能差很多,redis的watch只用在事务之前,那如果想像zookeeper一样实现通知怎么办?答案是可以通过redis的pubsub订阅来实现消息发布。

概括来说主要有三大类:

  • 对topic/channel进行订阅和发布(与keyspace无关)
  • 对某key的相关事件进行订阅发布
    __keyspace@db__: key
  • 对特定事件进行订阅发布
    __keyevent@db__: event
1.对channel订阅发布

参考:redis.io/topics/pubsub
无须配置,直接可用。
1.1 subscribe/publish
订阅的channel没有上限,可订阅任意数量。(后面讲到的psubscribe支持模式匹配,模式匹配其实也就相当于任意数量了)。
在这里插入图片描述
发布:
在这里插入图片描述
subscriber将收到:
在这里插入图片描述
1.2 psubscribe
redis还支持模式匹配,如:
在这里插入图片描述
需注意开启订阅之后,是无法执行其它commands的。

2.Redis Keyspace Notifications

参考:redis.io/topics/notifications
该功能需要在配置文件中配置notify-keyspace-events

############################# EVENT NOTIFICATION ##############################

# Redis can notify Pub/Sub clients about events happening in the key space
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值