Redis事务与订阅
- 一、Redis事务
- 二、Redis消息的发布与订阅
一、Redis事务
redis事务只能保证部分原子性
- 如果一组命令在压入事务队列过程中出现错误的命令,则事务中所有的命令都不执行,能够保证事务的原子性
- 如果一组命令在压入事务队列的过程中正常但是在执行事务队列命令时发生错误,则只会影响发生错误的命令,不会影响其他命令,不能保证事务的原子性。
关于事务的基本命令
- mutil
标记事务的开始 - exec
执行事务队列中的命令 - discard
清除已经压入队列中的命令并且结束事务 - watch key
监控某一个key 当事务执行过程中此key的值发生改变就放弃本事务 - unwatch
放弃监控的所有key
二、Redis消息的发布与订阅
redis客户端订阅频道,消息的发布者往频道上发布消息,所有订阅此频道的客户端都能接收到此消息
关于消息发布与订阅的命令
- publish 频道名 消息
将消息发布到指定的频道 - subscribe 频道名1 [频道名2…]
订阅一个或者多个频道的消息 - psubscribe 频道名
与subscribe功能相同这个命令支持通配符
psubscribe h* 订阅以h开头的频道 - unsubscribe 频道名
推定指定的频道 - punsubscribe
退订所有频道