Redis 事務(wù)

Redis 事務(wù)

Redis 事務(wù)可以一次執(zhí)行多個(gè)命令, 并且?guī)в幸韵聝蓚€(gè)重要的保證:

事務(wù)是一個(gè)單獨(dú)的隔離操作:事務(wù)中的所有命令都會(huì)序列化、按順序地執(zhí)行。事務(wù)在執(zhí)行的過程中,不會(huì)被其他客戶端發(fā)送來的命令請(qǐng)求所打斷。

事務(wù)是一個(gè)原子操作:事務(wù)中的命令要么全部被執(zhí)行,要么全部都不執(zhí)行。

一個(gè)事務(wù)從開始到執(zhí)行會(huì)經(jīng)歷以下三個(gè)階段:

開始事務(wù)。

命令入隊(duì)。

執(zhí)行事務(wù)。


實(shí)例

以下是一個(gè)事務(wù)的例子, 它先以MULTI開始一個(gè)事務(wù), 然后將多個(gè)命令入隊(duì)到事務(wù)中, 最后由EXEC命令觸發(fā)事務(wù), 一并執(zhí)行事務(wù)中的所有命令:

Redis 事務(wù)命令

下表列出了 redis 事務(wù)的相關(guān)命令:

1> discard 命令:取消事務(wù),放棄執(zhí)行事務(wù)塊內(nèi)的所有命令

格式:DISCARD

2> exec 命令:執(zhí)行所有事務(wù)塊內(nèi)的命令

格式:EXEC

3> multi 命令:標(biāo)記一個(gè)事務(wù)塊的開始

格式:MULTI

4> unwatch 命令:取消 WATCH 命令對(duì)所有 key 的監(jiān)視

格式:UNWATCH

5> watch 命令:監(jiān)視一個(gè)(或多個(gè)) key ,如果在事務(wù)執(zhí)行之前這個(gè)(或這些) key 被其他命令所改動(dòng),那么事務(wù)將被打斷

格式:WATCH key [key ...]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • redis事務(wù) Redis 通過 MULTI 、 DISCARD 、 EXEC 和 WATCH 四個(gè)命令來實(shí)現(xiàn)事務(wù)...
    全能程序猿閱讀 2,252評(píng)論 0 11
  • multi開啟一個(gè)事務(wù),原理是開啟客戶端屬性中的事務(wù)開關(guān)標(biāo)示REDIS_MULTI,將客戶端從非事務(wù)狀態(tài)切換到事務(wù)...
    碼農(nóng)也越野閱讀 417評(píng)論 0 0
  • 1. 概述: 和眾多其它數(shù)據(jù)庫(kù)一樣,Redis作為NoSQL數(shù)據(jù)庫(kù)也同樣提供了事務(wù)機(jī)制。在Redis中,MULTI...
    六月星空2011閱讀 375評(píng)論 0 0
  • 在多個(gè)客戶端同時(shí)處理相同的數(shù)據(jù)時(shí),不謹(jǐn)慎的操作很容易導(dǎo)致數(shù)據(jù)出錯(cuò)。一般的關(guān)系型數(shù)據(jù)庫(kù)中有事務(wù)保證了數(shù)據(jù)操作的原子性...
    rainybowe閱讀 3,547評(píng)論 0 5
  • Redis 事務(wù)可以一次執(zhí)行多個(gè)命令, 并且?guī)в幸韵聝蓚€(gè)重要的保證: 事務(wù)是一個(gè)單獨(dú)的隔離操作:事務(wù)中的所有命令都...
    陳小陌丿閱讀 318評(píng)論 0 0

友情鏈接更多精彩內(nèi)容