1. 程式人生 > >Redis簡單事務處理

Redis簡單事務處理

一、引言

作為一個新青年,一定要有一顆好學的心。不要每天日復一日,年復一年,每天給自己定一個小目標。當然這個小目標肯定不是先掙一個億,如果你真能一天掙一個億,那你怎麼會在看小編我寫的文章哈哈哈~~~

今天來學習redis高階應用之事務處理。用過關係型資料庫的同學肯定知道事務這個玩意,在我們之前學習的事務當中,只要有一條失敗,整個事務都回滾,沒有任何商量的餘地。

那麼今天就跟小編我來學習一下,不一樣的事務處理。

二、redis事務

目前redis對事務處理還是相當比較簡單的。redis只能保證一個client發起的事務中的命令可以連續的執行,而中間不會插入其他client的命令。當一個client在一個連線中發出multi命令

時,這個連線會進入一個事務的上下文,該連線後續的命令不會立即執行,而是先放在一個佇列中,當執行exec命令時,redis會按照順序的執行佇列中的所有命令

三、具體操作

簡單演示:如下圖所示

1、當小編輸入了multi命令時,則進入事務處理的上下文。

2、小編連續執行set index命令,返回的是QUEUED放入了佇列中。

3、最後小編在執行exec命令,連續返回兩次OK,最後index中的值是66

redis事務是否支援事務回滾?:如下圖所示

1、當小編輸入了multi命令時,則進入事務處理的上下文。

2、小編執行age、name自增,自增必須是數字型別字串則會提示錯誤

3、在執行exec時,大家都看到了,即使在執行name自增時出錯了,但是age還是自增變成67了。

4、所以在redis其實事務是不支援回滾的。