事务提交成功
1.[判断命令是否正确]在事务中执行命令,如果返回不是的queue, 那么肯定会失败,在代码中使用的时候,不会返回 QUEUE,命令的格式和数据类型应该自己注意
2.事务结束(discard,exec),会导致watch观察所有的key失效。
127.0.0.1:6379> keys *
1) "sortedRange"
127.0.0.1:6379> zrange sortedRange 0 -1 withscores
1) "youyi"
2) "48"
3) "xiaojiahuo"
4) "200"
127.0.0.1:6379> watch sortedRange
OK
127.0.0.1:6379> multi
OK
127.0.0.1:6379> zincrby sortedRange -2 youyi
QUEUED
127.0.0.1:6379> exec
1) "46"
事务提交失败
127.0.0.1:6379> keys *
1) "sortedRange"
127.0.0.1:6379> zrange sortedRange 0 -1 withscores
1) "youyi"
2) "46"
3) "xiaojiahuo"
4) "200"
127.0.0.1:6379> watch sortedRange
OK
127.0.0.1:6379> multi
OK
127.0.0.1:6379> zincrby sortedRange -2 youyi
QUEUED
127.0.0.1:6379> exec
(nil)
---------------------------------
127.0.0.1:6379> keys *
1) "sortedRange"
127.0.0.1:6379> zrange sortedRange 0 -1 withscores
1) "youyi"
2) "54"
3) "xiaojiahuo"
4) "200"
127.0.0.1:6379> multi
OK
127.0.0.1:6379> zincrby sortedRange asf youyi
QUEUED
127.0.0.1:6379> zincrby sortedRange -1 youyi
QUEUED
127.0.0.1:6379> exec
1) (error) ERR value is not a valid float
2) "53"
----------------------------------------------------
127.0.0.1:6379> keys *
1) "sortedRange"
127.0.0.1:6379> zrange sortedRange 0 -1 withscores
1) "youyi"
2) "53"
3) "xiaojiahuo"
4) "200"
127.0.0.1:6379> multi
OK
127.0.0.1:6379> zincrbys sortedRange youyi
(error) ERR unknown command 'zincrbys'
127.0.0.1:6379> zincrby sortedRange 23 youyi
QUEUED
127.0.0.1:6379> exec
(error) EXECABORT Transaction discarded because of previous errors.