事務就是一組操作的集合,這組操作要麼一起成功,要麼一起失敗,也就是所謂的操作的原子性
1.redis事務的兩種特性:
a.事務是單獨的封鎖操作,事務中的所有的操作都會序列化執行,按照順序執行,同時當事務在執行的過程中不會被其他的事務打斷。
b.事務的操作是一個原子操作,要麼裏面的操作一起成功,要麼一起失敗(只要有一個失敗就一起失敗)。
2.事務從開始到執行的步驟
(1) 開始事務:multi
>multi --- OK
(2) 命令入隊
>set name chao
>set sex man
開啓事務之後,開啓事務隊列,用於放置事務中的操作,當命令入隊的時候,會有一些語法的檢查,如果操作得當的話,返回QUEUED,如果有錯誤返回一些錯誤報告,例如ERR unknow command sget等,
3、執行事務:exec
>exec
redis的事務,沒有回滾一說,通過在命令入隊的時候,如果出現一些錯誤的話,該事務直接失敗
4 .watch的命令
可以監控一個或多個鍵,一旦其中一個鍵被修改(或刪除),之後的事務就不會執行。監控一直持續到exec命令,事務中的命令是在exec之後才執行的,所以在multi命令後可以修改watch監控的鍵值。
參照博客https://baijiahao.baidu.com/s?id=1608337116180752513&wfr=spider&for=pc