初识Redis(二):Redis发布/订阅及事务

什么是发布订阅

发布订阅是一种消息通信模式,发布者(pub)发送消息,订阅者(sub)接收消息。举个生活中类似的场景,如果100个人订阅了你的博客,当你发表了文章时,那么这100个订阅者就会同时收到通知邮件。

Redis发布/订阅命令

  • subscribe
订阅一个或多个频道的信息

SUBSCRIBE channel [channel ...]

  • publish
将信息发送到指定频道

PUBLISH channel message

  • Psubscribe
订阅一个或多个符合给定模式的频道

PSUBSCRIBE pattern [pattern ...]

  • Pubsub
是一个查看订阅与发布系统状态的命令,分别有以下几种使用方式
1. 列出当前的活跃频道(活跃频道指那些至少有一个订阅者的频道)

PUBSUB CHANNELS [pattern]

2. 返回给定频道的订阅者数量

PUBSUB NUMSUB [channel1 ... channelN]

3. 返回订阅模式的数量(订阅模式指通过Psubscribe的订阅)

PUBSUB NUMPAT

  • Unsubscribe
退订所有给定的一个或多个频道

UNSUBSCRIBE [pattern [pattern ...]]

  • Punsubscribe
退订所有给定模式的频道(给定模式指通过Psubscribe的订阅)

PUNSUBSCRIBE [pattern [pattern ...]]

常用应用场景
  • 构建实时消息系统,比如即时聊天、群聊
  • 门户网站清除缓存,当管理员后台发布了清除缓存的消息,门户网站收到订阅的消息,进行缓存的清除

什么是事务

事务是一个单独的隔离操作,所有的命令都会序列化、按顺序执行,整个事务是一个原子操作,要么全部被执行,要么全部不执行

Redis事务命令

  • MULTI
标记一个事务块的开始
  • EXEC
执行所有事务块内的命令
  • DISCARD
取消事务,放弃执行事务块内的所有命令
  • MULTI
标记一个事务块的开始
  • WATCH
监视一个或多个key,如果在事务执行之前这个key被其他命令改动,事务将被大断

WATCH key [key]

  • UNWATCH
取消 WATCH 命令对所有 key 的监视

如果这篇文章对你有帮助,请点个赞哈,感谢

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容