最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

redis事務(wù)執(zhí)行常用命令及watch監(jiān)視詳解

 更新時(shí)間:2023年11月23日 11:18:13   作者:bug生產(chǎn)者  
這篇文章主要為大家介紹了redis事務(wù)執(zhí)行常用命令及watch監(jiān)視詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

redis事務(wù)

注意:我使用的版本是6.0.10,不同版本可能略有差別

redis事務(wù)就是一組命令的集合,一個(gè)事務(wù)中所有命令都會(huì)序列化,按順序的串行化執(zhí)行而不會(huì)被其他命令插入

  • Redis的事務(wù)僅僅是保證事務(wù)里的操作會(huì)被連續(xù)獨(dú)占的執(zhí)行,因?yàn)槭菃尉€程架構(gòu),在執(zhí)行完事務(wù)內(nèi)所有指令前是不可能再去同時(shí)執(zhí)行其他客戶端的請(qǐng)求的
  • Redis的事務(wù)沒有隔離級(jí)別的概念,因?yàn)槭聞?wù)提交前任何指令都不會(huì)被實(shí)際執(zhí)行,也就不存在事務(wù)內(nèi)的查詢要看到事務(wù)里的更新,在事務(wù)外查詢不能看到這種問題了
  • Redis的事務(wù)不保證原子性,也就是不保證所有指令同時(shí)成功或同時(shí)失敗,只有決定是否開始執(zhí)行全部指令的能力,沒有執(zhí)行到一半進(jìn)行回滾的能力

事務(wù)的常用命令

  • multi 標(biāo)記一個(gè)事務(wù)塊的開始,后續(xù)命令逐個(gè)放入隊(duì)列中
  • exec 執(zhí)行事務(wù)塊的命令
  • discard 取消事務(wù),丟棄事務(wù)塊的命令
  • watch key [key ...] 監(jiān)視key,如果在事務(wù)執(zhí)行之前,這個(gè)key被其他命令所改動(dòng),則事務(wù)中斷
  • unwatch 取消監(jiān)視所有key

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

#標(biāo)注事務(wù)的開始
MULTI
OK
#在事務(wù)內(nèi)部的操作全是入隊(duì),不會(huì)真正執(zhí)行
set tran1 v1
QUEUED
set tran2 v2
QUEUED
#執(zhí)行
exec
1) OK
2) OK

redis的事務(wù)沒有隔離級(jí)別的概念,并且不會(huì)保證原子性

  • 如果任何一個(gè)命令語法有錯(cuò),Redis會(huì)直接返回錯(cuò)誤,所有的命令都不會(huì)執(zhí)行
  • 如果某個(gè)命令執(zhí)行錯(cuò)誤,那么其它的命令仍然會(huì)正常執(zhí)行,然后在執(zhí)行后返回錯(cuò)誤信息
  • Redis不提供事務(wù)回滾的功能,開發(fā)者必須在事務(wù)執(zhí)行出錯(cuò)后,自行恢復(fù)數(shù)據(jù)庫(kù)狀態(tài)

watch監(jiān)視

watch指令類似于樂觀鎖,在事務(wù)開始之前使用,如果在watch之后有任何所監(jiān)視的key發(fā)生變化,exec指令所執(zhí)行的事務(wù)將會(huì)被放棄,當(dāng) EXEC 被調(diào)用后,所有的之前被監(jiān)視的鍵值會(huì)被取消監(jiān)視,不管事務(wù)是否被取消或者執(zhí)行。并且當(dāng)客戶端連接丟失的時(shí)候,所有東西都會(huì)被取消監(jiān)視

#設(shè)值
set balance 100
OK
#監(jiān)視
watch balance
OK
#修改
set balance 200
OK
get balance
"200"
#開啟事務(wù)
MULTI 
OK
#修改入隊(duì)
DECRBY balance 10
QUEUED
#執(zhí)行失敗
exec
(nil)
get balance
"200"

redis只能保證事務(wù)中的操作順序執(zhí)行,但是如果事務(wù)中有一條命令失敗了,并不會(huì)回滾其他命令

以上就是redis事務(wù)執(zhí)行常用命令及watch監(jiān)視詳解的詳細(xì)內(nèi)容,更多關(guān)于redis事務(wù)執(zhí)行watch監(jiān)視的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Redis的setNX分布式鎖超時(shí)時(shí)間失效 -1問題及解決

    Redis的setNX分布式鎖超時(shí)時(shí)間失效 -1問題及解決

    這篇文章主要介紹了Redis的setNX分布式鎖超時(shí)時(shí)間失效 -1問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Redis中的AOF原理及分析

    Redis中的AOF原理及分析

    Redis的AOF通過記錄所有寫操作命令實(shí)現(xiàn)持久化,支持always/everysec/no三種同步策略,重寫機(jī)制優(yōu)化文件體積,與RDB結(jié)合可平衡數(shù)據(jù)安全與恢復(fù)效率
    2025-09-09
  • redis配置認(rèn)證密碼的方法

    redis配置認(rèn)證密碼的方法

    這篇文章主要介紹了redis配置認(rèn)證密碼的方法,需要的朋友可以參考下
    2016-08-08
  • Redis雙重判定鎖的實(shí)現(xiàn)(緩存擊穿的終極解決方案)

    Redis雙重判定鎖的實(shí)現(xiàn)(緩存擊穿的終極解決方案)

    本文詳細(xì)介紹了雙重判定鎖在分布式系統(tǒng)的應(yīng)用,通過兩次檢查避免了不必要的數(shù)據(jù)庫(kù)查詢,適用于緩存擊穿場(chǎng)景,提升系統(tǒng)效率與性能,感興趣的可以了解一下
    2026-05-05
  • Redis之緩存擊穿、穿透、雪崩問題及處理

    Redis之緩存擊穿、穿透、雪崩問題及處理

    文章詳細(xì)介紹了緩存擊穿、緩存穿透和緩存雪崩的概念、觸發(fā)條件、典型場(chǎng)景、可能后果及解決策略,強(qiáng)調(diào)了緩存設(shè)計(jì)中需考慮的多個(gè)方面,包括緩存策略、系統(tǒng)一致性、異常處理和優(yōu)化措施,通過合理設(shè)置TTL、使用分布式鎖、預(yù)熱緩存、邏輯過期刷新、布隆過濾器等多種方法
    2026-04-04
  • Redis如何實(shí)現(xiàn)刷票過濾

    Redis如何實(shí)現(xiàn)刷票過濾

    這篇文章主要介紹了Redis如何實(shí)現(xiàn)刷票過濾問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • 使用Redis獲取數(shù)據(jù)轉(zhuǎn)json,解決動(dòng)態(tài)泛型傳參的問題

    使用Redis獲取數(shù)據(jù)轉(zhuǎn)json,解決動(dòng)態(tài)泛型傳參的問題

    這篇文章主要介紹了使用Redis獲取數(shù)據(jù)轉(zhuǎn)json,解決動(dòng)態(tài)泛型傳參的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 解讀Redis的持久化方式(RDB、AOF)

    解讀Redis的持久化方式(RDB、AOF)

    文章主要介紹了Redis的RDB和AOF兩種持久化機(jī)制的區(qū)別、工作原理和優(yōu)點(diǎn),并詳細(xì)講解了Redis 4.0+版本中RDB+AOF混合持久化的實(shí)現(xiàn)方式、配置建議和實(shí)際應(yīng)用,強(qiáng)調(diào)了混合持久化在生產(chǎn)環(huán)境中的重要性和配置要點(diǎn),以及在不同場(chǎng)景下的推薦配置策略
    2026-04-04
  • redis生成全局id的實(shí)現(xiàn)步驟

    redis生成全局id的實(shí)現(xiàn)步驟

    生成全局唯一的標(biāo)識(shí)符是非常常見的需求,本文主要介紹了redis生成全局id的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • Redis批量刪除KEY的方法

    Redis批量刪除KEY的方法

    這篇文章主要介紹了Redis批量刪除KEY的方法,本文借助了Linux xargs命令實(shí)現(xiàn),需要的朋友可以參考下
    2014-11-11

最新評(píng)論

福鼎市| 湟中县| 金门县| 临高县| 宁津县| 新干县| 广东省| 巴南区| 金山区| 陇西县| 望奎县| 九寨沟县| 藁城市| 奉节县| 喀喇沁旗| 日喀则市| 公主岭市| 新泰市| 巫山县| 惠来县| 云南省| 鄂伦春自治旗| 遵化市| 东阿县| 临安市| 涪陵区| 马鞍山市| 保靖县| 辽阳县| 潮安县| 龙州县| 富民县| 长丰县| 宁都县| 澳门| 长乐市| 巴林右旗| 伊宁市| 漠河县| SHOW| 江孜县|