共計(jì) 1217 個(gè)字符,預(yù)計(jì)需要花費(fèi) 4 分鐘才能閱讀完成。
本篇內(nèi)容主要講解“Redis 的事務(wù)處理詳細(xì)講解”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓丸趣 TV 小編來帶大家學(xué)習(xí)“Redis 的事務(wù)處理詳細(xì)講解”吧!
事務(wù)處理。
127.0.0.1:6379 get age
30
127.0.0.1:6379 multi
OK
127.0.0.1:6379 set age 10
QUEUED
127.0.0.1:6379 set age 20
QUEUED
127.0.0.1:6379 exec
1) OK
2) OK
127.0.0.1:6379 get age
20
如何取消一個(gè)事務(wù)。
127.0.0.1:6379 multi
OK
127.0.0.1:6379 set age 30
QUEUED
127.0.0.1:6379 set age 40
QUEUED
127.0.0.1:6379 discard
OK
127.0.0.1:6379 get age
20
樂觀鎖復(fù)雜事務(wù)控制。
redis 樂觀鎖實(shí)例:假設(shè)有一個(gè) age 的 key,開 2 個(gè) session 來對(duì) age 進(jìn)行賦值操作。
第一步:session1
127.0.0.1:6379 get age
20
127.0.0.1:6379 watch age
OK
127.0.0.1:6379 multi
OK
127.0.0.1:6379
第二步:session2
127.0.0.1:6379 set age 30
OK
127.0.0.1:6379 get age
30
127.0.0.1:6379
第三步:session1
127.0.0.1:6379 set age 20
QUEUED
127.0.0.1:6379 exec
(nil)
127.0.0.1:6379 get age
30
watch 命令會(huì)監(jiān)視給定的 key,當(dāng) exec 時(shí)候如果監(jiān)視的 key 從調(diào)用 watch 后發(fā)生過變化,則整個(gè)事務(wù)會(huì)失敗,也可以調(diào)用 watch 多次監(jiān)視多個(gè) key。這樣就可以對(duì)指定的 key 加樂觀鎖了。注意 watch 的 key 是對(duì)整個(gè)連接有效的,事務(wù)也一樣。如果連接斷開,監(jiān)視和事務(wù)都會(huì)被自動(dòng)清除。當(dāng)然除了 exec,discard,unwatch 命令都會(huì)清除連接中的所有監(jiān)視。
事務(wù)回滾:如果事務(wù)中的一個(gè)命令失敗了,并不回滾其他命令。
127.0.0.1:6379 get age
30
127.0.0.1:6379 get name
master
127.0.0.1:6379 multi
OK
127.0.0.1:6379 incr age
QUEUED
127.0.0.1:6379 incr name
QUEUED
127.0.0.1:6379 exec
1) (integer) 31
2) (error) ERR value is not an integer or out of range
127.0.0.1:6379 get age
31
127.0.0.1:6379 get name
master
到此,相信大家對(duì)“Redis 的事務(wù)處理詳細(xì)講解”有了更深的了解,不妨來實(shí)際操作一番吧!這里是丸趣 TV 網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!