发送MULTI命令,声明事务;EXEC执行事务
Redis不支持事务回滚
redis 127.0.0.1:6379> SET key 1 OK redis 127.0.0.1:6379> SET key 2 OK redis 127.0.0.1:6379> SADD key 3 (error) ERR Operation against a key holding the wrong kind of value redis 127.0.0.1:6379> SADD key 3 4 (error) ERR Operation against a key holding the wrong kind of value redis 127.0.0.1:6379> SADD keynew 3 (integer) 1 redis 127.0.0.1:6379> MUTIL (error) ERR unknown command ‘MUTIL‘ redis 127.0.0.1:6379> MULTI OK redis 127.0.0.1:6379> SET key 3 QUEUED redis 127.0.0.1:6379> SET keynew 4 QUEUED redis 127.0.0.1:6379> EXEC 1) OK 2) OK redis 127.0.0.1:6379> GET key "3" redis 127.0.0.1:6379> GET keynew "4" redis 127.0.0.1:6379>
监控某个键值,如果被修改,阻止后面的事务执行。仅仅防御性质的。
redis 127.0.0.1:6379> SET key 1 OK redis 127.0.0.1:6379> WATCH key OK redis 127.0.0.1:6379> MULTI OK redis 127.0.0.1:6379> SET key 2 QUEUED redis 127.0.0.1:6379> EXEC 1) OK redis 127.0.0.1:6379> GET key "2" redis 127.0.0.1:6379>
redis 127.0.0.1:6379> SET keywatch 1 OK redis 127.0.0.1:6379> SET keywatch 2 OK redis 127.0.0.1:6379> WATCH keywatch OK redis 127.0.0.1:6379> SET keywatch 3 OK redis 127.0.0.1:6379> MULTI OK redis 127.0.0.1:6379> SET keywatch 8 QUEUED redis 127.0.0.1:6379> EXEC (nil) redis 127.0.0.1:6379> GET keywatch "3" redis 127.0.0.1:6379>
原文地址:http://my.oschina.net/hanruikai/blog/307087