Redis 事务
常用命令:
WATCH key [key ...] //监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。
UNWATCH //取消 WATCH 命令对所有 key 的监视。如果在执行 WATCH 命令之后, EXEC 命令或 DISCARD 命令先被执行了的话,那么就不需要再执行 UNWATCH 了。
MULTI //标记一个事务块的开始。
DISCARD //取消事务,放弃执行事务块内的所有命令。
EXEC //执行所有事务块内的命令。
事务的使用
127.0.0.1:6379> WATCH key//监视key OK 127.0.0.1:6379> MULTI//开启一个事务块 OK 127.0.0.1:6379> set key 1//do something QUEUED 127.0.0.1:6379> get key//do something QUEUED 127.0.0.1:6379> EXEC//执行 1) OK 2) "1" 127.0.0.1:6379>
取消事务:
127.0.0.1:6379> get key "1" 127.0.0.1:6379> MULTI OK 127.0.0.1:6379> set key 2 QUEUED 127.0.0.1:6379> DISCARD//取消事务 OK 127.0.0.1:6379> get key//key值不变 "1" 127.0.0.1:6379>
监视:
127.0.0.1:6379> get key "1" 127.0.0.1:6379> WATCH key//监视key OK 127.0.0.1:6379> set key 2//开启事务之前修改key值 OK 127.0.0.1:6379> MULTI OK 127.0.0.1:6379> set key 3 QUEUED 127.0.0.1:6379> get key QUEUED 127.0.0.1:6379> EXEC//执行失败,是因为监视了key,key在执行事务之前被改动了 (nil) 127.0.0.1:6379>

浙公网安备 33010602011771号