Redis 发布与订阅

相关命令

通过PUBSUB命令,列出目前被订阅的所有频道

// PUBSUB CHANNELS [pattern]
PUBSUB CHANNELS [.NET*]

通过PUBLISH命令,将一条消息发送至给定频道,比如:

// PUBLISH channel message
PUBLISH '.NET' 'ASP.NET'
PUBLISH '.NET' 'ASP.NET Core'

通过SUBSCRIBE命令,订阅给定的一个或多个频道:

// SUBSCRIBE channel [channel...]
SUBSCRIBE '.NET'

通过UNSUBSCRIBE命令退订指定的频道:

// UNSUBSCRIBE channel [channel...]
UNSUBSCRIBE '.NET'
// 退订所有的频道
UNSUBSCRIBE

注意事项

  1. 发布订阅模式不存储数据(没有持久化),消费者下线、Redis宕机、消息堆积等都会导致消息的丢失。
  2. 当生产者发布消息时,Redis 先把消息写到对应消费者的缓冲区中,当消费者的速度,跟不上生产者时,就会导致数据积压的情况发生。缓冲区是有大小限制的(可配置),如果超出限制,redis 会强制把对应消费都踢下线。
posted @ 2022-06-16 21:31  weidadong  阅读(237)  评论(0)    收藏  举报