1、redis中的事務是一組命令的集合。一個事務中的命令,要麼都執行,要麼都不執行
2、
MULTI 告訴redis:下面我發給你的命令屬於同一個事務,先不要執行,而是把它們暫時存起來
OK
SADD "user:1:followers" 2 發送命令
QUEUED 返回QUEUED表示這兩條命令已經進入等待執行的事務隊列中了
SADD "user:2:followers" 1
QUEUED
EXEC 執行命令
1)(integer) 1
2)(integer) 1
3、錯誤處理
(1)語法錯誤 命令不存在或者命令參數的個數部隊
一旦發現錯誤,該事務中正確的命令也不會執行
(2)運行錯誤 命令執行時出現的錯誤 比如散列類型的命令操作集合類型的鍵,執行之前redis是無法發現的
一旦發現錯誤,該事務中錯誤的命令不會執行,正確的命令還會執行
4、WATCH命令 監控
5、UNWATCH命令 取消監控
6、競態條件
7、生存時間
EXPIRE命令 設置鍵的生存時間
TTL命令 查看鍵的剩餘生存時間 鍵不存在時,TTL返回-1;沒有爲鍵設置生存時間(永久存在)時,也會返回-1
PERSIST命令 設置鍵爲永久
SET/GETSET命令會爲鍵重新賦值,並清除鍵的生存時間
EXPIREAT 與 EXPIRE 差別:前者使用Unix時間作爲第二個參數表示生存時間
PEXPIREAT/EXPIREAT 差別:前者單位爲毫秒
BRPOP命令:和RPOP命令類似,區別是當列表中沒有元素是BRPOP命令會一直阻塞連接,知道有新元素加入。
BLPOP命令:和BRPOP區別在於從隊列中去元素時BLPOP會從隊列左邊取。