订阅与发布:redis的PubSub
订阅:
subscribe 具体频道
发布:
publish 频道 内容 可以将具体内容发送到对应频道,同时订阅该频道的所有客户端都能接收到该消息。
订阅多个:
subscribe 具体频道* 可以订阅具体名称开头的多个频道,即使后续增加了某个新的频道只要在这个范围内也可以收到新的消息。
可以利用这个来完成redis的消息多播功能。
在应用中,用getMessage获取返回的消息时,必须先休眠一会,因为发布和订阅都有网络延迟,马上执行得不到结果,常采用轮询加休眠的方式来获取结果。
redis的pubsub也有缺点,那就是如果某个消费者突然崩溃,那么这段时间多播的消息对于该消费者来说就是永久错过了,如果redis宕机,那么所有的消息都会直接被丢弃,redis5中引入了一个持久化消息队列stream来解决这个问题。
本文深入解析Redis的订阅与发布(PubSub)机制,探讨如何利用subscribe与publish进行消息多播,包括订阅具体频道、订阅多个频道及消息多播功能的实现。文章还提及了在应用中如何处理网络延迟及消息丢失问题,并介绍了Redis 5中引入的持久化消息队列Stream以解决消费者消息丢失的问题。
1060

被折叠的 条评论
为什么被折叠?



