redis-订阅发布、事务

文章目录

      • redis订阅发布 pub/sub
      • redis事务

redis订阅发布 pub/sub

redis的list的blpop可以实现类似单播的效果,redis本身也提供了发布订阅模式以实现广播的效果
PUBLISH channel message 向指定频道发送消息
SUBSCRIBE channel [channel ...] 订阅频道

redis事务

redis的事务的原子性不同于mysql,它的单条指令具有原子性,但在事务中的一系列指令不具有原子性,即事务中的某一条指令出错不会回滚,会继续执行。
MULTI 标记事务开始
EXEC 执行事务
DISCARD 取消事务
WATCH key [key...] 监听key以实现乐观锁
UNWATCH 取消监听key

127.0.0.1:6379> watch k1 #监听k1,如果在exec事务时,k1发生了变化事务就不会执行
OK
127.0.0.1:6379> multi #标记开启事务
OK
127.0.0.1:6379> set k1 1 #指令入队
QUEUED
127.0.0.1:6379> incr k1 #指令入队
QUEUED
127.0.0.1:6379> exec #执行事务
1) OK
2) (integer) 2
127.0.0.1:6379> get k1
"2"
127.0.0.1:6379>

如果有两个客户端都提交事务并且都操作了同一个key,那么谁的exec先执行,另一个的事务就会出现错误

你可能感兴趣的:(笔记,redis,数据库,缓存)