redis學習(5) - 事務

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會從隊列左邊取。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章