1,Redis若是執行了multi後,會放在一個隊列中。
注:
在multi後面的語句中,語句出錯後會有這樣的狀況
a,語法問題
在收到exec時候,報錯,語句不予執行。
b,語法原本沒錯,可是適用對象有問題
exec後,會執行正確的語句,跳過錯誤的。ide
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> set yang 200
OK
127.0.0.1:6379> set yu 100
OK
127.0.0.1:6379> multi
OK
127.0.0.1:6379> decrby yang 10
QUEUED
127.0.0.1:6379> incrby yu 100
QUEUED
127.0.0.1:6379> exec
1) (integer) 190
2) (integer) 200對象
127.0.0.1:6379> multi
OK
127.0.0.1:6379> decrby yang 100
QUEUED
127.0.0.1:6379> sadd yu jkjkjkjkj
QUEUED
127.0.0.1:6379> exec
1) (integer) 90
2) (error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> mget yang yu
1) "90"
2) "200"隊列
2,取消操做
127.0.0.1:6379> multi
OK
127.0.0.1:6379> decrby yang 10
QUEUED
127.0.0.1:6379> incrby yu 20000
QUEUED
127.0.0.1:6379> discard
OK
127.0.0.1:6379> mget yang yu
1) "90"
2) "200"get
3,Reis事物中的樂觀鎖,負責key有沒有被人改過
watch 命令it