什么是发布订阅
发布订阅是一种消息通信模式,发布者(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 的监视
如果这篇文章对你有帮助,请点个赞哈,感谢