目录
发布订阅
发布订阅 (pubilsh/subscribe) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。
Redis 客户端可以订阅任意数量的频道。
开启Redis服务,打开俩个客户端窗口:
创建订阅频道ch1:
SUBSCRIBE
打开另一个客户端,在同频道ch1发送两次消息,订阅者能够接收到消息:
PUBLISH
PSUBSCRIBE pattern ..
命令订阅一个或多个符合给定模式的频道。
Pubsub
用于查看订阅与发布系统状态,它由数个不同格式的子命令组成。
PUBSUB <subcommand> argument ..
返回值由活跃频道组成的列表 。
Punsubscribe
PUNSUBSCRIBE pattern ..
退订所有给定模式的频道
Unsubscribe
退订给定的一个或多个频道的信息
UNSUBSCRIBE channel ..
事务
事务可以一次执行多个命令, 并且带有以下三个重要的保证:
批量操作在发送 EXEC 命令前被放入队列缓存->收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。
在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。
执行过程:
开始事务->命令入队->执行事务。
MULTI
标记一个事务块的开始
开启一个事务,将命令放入事务之中,最后由EXEC触发事务,执行事务中的命令:
DISCARD
取消事务,放弃执行事务块内的所有命令。
Watch
Watch 命令用于监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。
WATCH key ..
Unwatch
取消 WATCH 命令对所有 key 的监视
UNWATCH
单个Redis命令是原子性的,但Redis事务没有增加维持原子性的机制事务执行并不是原子性(即大量命令中某条命令执行失败不会影响后面命令的执行),与数据库事务有所不同。