redis 事务及锁应用/发布订阅/

分类: NoSQLhtml

                                    MySQL                    Redis
开启      Start transaction      mutil
语句      普通SQL                  通命令
失败      rollback                   discard
成功      commit                    exec

注:rollback和discard的区别,若是已经成功执行了2条语句,第三条语句出错,rollback后前2条的语句影响消失,而redis中discard只是结束本次事务,前2条语句形成的影响仍然存在。
redis

Redis 发布订阅

Redis 发布订阅(pub/sub)是一种消息通讯模式:发送者(pub)发送消息,订阅者(sub)接收消息。ui

Redis 客户端能够订阅任意数量的频道。spa

下图展现了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:code

pubsub1

当有新消息经过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:htm

pubsub2


实例

如下实例演示了发布订阅是如何工做的。在咱们实例中咱们建立了订阅频道名为 redisChat:事务

redis 127.0.0.1:6379> SUBSCRIBE redisChatReading messages... (press Ctrl-C to quit)1) "subscribe"2) "redisChat"3) (integer) 1

如今,咱们先从新开启个 redis 客户端,而后在同一个频道 redisChat 发布两次消息,订阅者就能接收到消息。get

redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"(integer) 1redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by w3cschool.cc"(integer) 1# 订阅者的客户端会显示以下消息1) "message"2) "redisChat"3) "Redis is a great caching technique"1) "message"2) "redisChat"3) "Learn redis by w3cschool.cc"

Redis 发布订阅命令

下表列出了 redis 发布订阅经常使用命令:it

序号 命令及描述
1 PSUBSCRIBE pattern [pattern ...]
订阅一个或多个符合给定模式的频道。
2 PUBSUB subcommand [argument [argument ...]]
查看订阅与发布系统状态。
3 PUBLISH channel message
将信息发送到指定的频道。
4 PUNSUBSCRIBE [pattern [pattern ...]]
退订全部给定模式的频道。
5 SUBSCRIBE channel [channel ...]
订阅给定的一个或多个频道的信息。
6 UNSUBSCRIBE [channel [channel ...]] 指退订给定的频道。
相关文章
相关标签/搜索