主頁(yè) > 知識(shí)庫(kù) > redis事務(wù)常用操作詳解

redis事務(wù)常用操作詳解

熱門(mén)標(biāo)簽:高碑店市地圖標(biāo)注app 一個(gè)地圖標(biāo)注多少錢(qián) 臺(tái)灣電銷(xiāo) b2b外呼系統(tǒng) 廊坊外呼系統(tǒng)在哪買(mǎi) 四川穩(wěn)定外呼系統(tǒng)軟件 400電話辦理的口碑 地圖標(biāo)注工廠入駐 南京手機(jī)外呼系統(tǒng)廠家

事務(wù)

MULTI 、 EXEC 、 DISCARD 和 WATCH 是 Redis 事務(wù)相關(guān)的命令。事務(wù)可以一次執(zhí)行多個(gè)命令, 并且?guī)в幸韵聝蓚€(gè)重要的保證:

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

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

EXEC 命令負(fù)責(zé)觸發(fā)并執(zhí)行事務(wù)中的所有命令

如果客戶端在使用 MULTI 開(kāi)啟了一個(gè)事務(wù)之后,卻因?yàn)閿嗑€而沒(méi)有成功執(zhí)行 EXEC ,那么事務(wù)中的所有命令都不會(huì)被執(zhí)行。
另一方面,如果客戶端成功在開(kāi)啟事務(wù)之后執(zhí)行 EXEC ,那么事務(wù)中的所有命令都會(huì)被執(zhí)行。
當(dāng)使用 AOF 方式做持久化的時(shí)候, Redis 會(huì)使用單個(gè) write(2) 命令將事務(wù)寫(xiě)入到磁盤(pán)中。

然而,如果 Redis 服務(wù)器因?yàn)槟承┰虮还芾韱T殺死,或者遇上某種硬件故障,那么可能只有部分事務(wù)命令會(huì)被成功寫(xiě)入到磁盤(pán)中。

如果 Redis 在重新啟動(dòng)時(shí)發(fā)現(xiàn) AOF 文件出了這樣的問(wèn)題,那么它會(huì)退出,并匯報(bào)一個(gè)錯(cuò)誤。

使用redis-check-aof程序可以修復(fù)這一問(wèn)題:它會(huì)移除 AOF 文件中不完整事務(wù)的信息,確保服務(wù)器可以順利啟動(dòng)。

從 2.2 版本開(kāi)始,Redis 還可以通過(guò)樂(lè)觀鎖(optimistic lock)實(shí)現(xiàn) CAS (check-and-set)操作,具體信息請(qǐng)參考文檔的后半部分。Redis事務(wù)可以執(zhí)行一系列的腳本,并且?guī)в幸韵聝蓚€(gè)重要的保證:

批量的命令在Exec命令之前,事務(wù)中任意命令執(zhí)行失敗,其余的命令依然被執(zhí)行。在事務(wù)執(zhí)行過(guò)程,其他客戶端提交的命令請(qǐng)求不會(huì)插入到事務(wù)執(zhí)行命令序列中。

一個(gè)事務(wù)從開(kāi)始到執(zhí)行會(huì)經(jīng)歷以下三個(gè)階段:開(kāi)始-入隊(duì)-執(zhí)行。本文介紹下Redis事務(wù)的常用命令。

DISCARD取消事務(wù),放棄執(zhí)行事務(wù)塊內(nèi)的所有命令。命令的執(zhí)行如下所示。先選取一段命令,然后執(zhí)行該命令取消

Exec命令:執(zhí)行所有的腳本命令。事務(wù)塊內(nèi)所有命令的返回值,按命令執(zhí)行的先后順序排列。 當(dāng)操作被打斷時(shí),返回空值 nil 。

# 監(jiān)視 key ,且事務(wù)成功執(zhí)行??梢员O(jiān)控Key的值的變化以及執(zhí)行事務(wù)的執(zhí)行情況。

# 監(jiān)視 key ,且事務(wù)執(zhí)行中斷??梢员O(jiān)控事務(wù)的執(zhí)行情況,以及事務(wù)中斷的情況。

Redis Multi 命令。用于標(biāo)記一個(gè)事務(wù)塊的開(kāi)始。事務(wù)塊內(nèi)的多條命令會(huì)按照先后順序被放進(jìn)一個(gè)隊(duì)列當(dāng)中,輸入完成命令之后,輸入exec執(zhí)行命令。

UNwatch命令用于取消事務(wù)的監(jiān)視。當(dāng)輸入一個(gè)命令監(jiān)視時(shí),可以通過(guò)UNwatch命令,取消對(duì)命令的監(jiān)視。

 

您可能感興趣的文章:
  • PHP+Redis事務(wù)解決高并發(fā)下商品超賣(mài)問(wèn)題(推薦)
  • redis中的事務(wù)操作案例分析
  • Redis事務(wù)涉及的watch、multi等命令詳解
  • python實(shí)現(xiàn)redis三種cas事務(wù)操作
  • redis中事務(wù)機(jī)制及樂(lè)觀鎖的實(shí)現(xiàn)
  • redis事務(wù)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
  • Redis 基礎(chǔ)教程之事務(wù)的使用方法
  • Redis 事務(wù)與過(guò)期時(shí)間詳細(xì)介紹
  • 【Redis緩存機(jī)制】詳解Java連接Redis_Jedis_事務(wù)
  • Redis教程(八):事務(wù)詳解
  • Redis 事務(wù)知識(shí)點(diǎn)相關(guān)總結(jié)

標(biāo)簽:畢節(jié) 伊春 河源 拉薩 南寧 甘南 泰州 定州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《redis事務(wù)常用操作詳解》,本文關(guān)鍵詞  redis,事務(wù),常用,操作,詳解,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《redis事務(wù)常用操作詳解》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于redis事務(wù)常用操作詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章