欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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è)命令語(yǔ)法有錯(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配置認(rèn)證密碼的方法

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

    這篇文章主要介紹了redis配置認(rèn)證密碼的方法,需要的朋友可以參考下
    2016-08-08
  • Redis瞬時(shí)高并發(fā)秒殺方案總結(jié)

    Redis瞬時(shí)高并發(fā)秒殺方案總結(jié)

    本文講述了Redis瞬時(shí)高并發(fā)秒殺方案總結(jié),具有很好的參考價(jià)值,感興趣的小伙伴們可以參考一下,具體如下:
    2018-05-05
  • Redis 多規(guī)則限流和防重復(fù)提交方案實(shí)現(xiàn)小結(jié)

    Redis 多規(guī)則限流和防重復(fù)提交方案實(shí)現(xiàn)小結(jié)

    本文主要介紹了Redis 多規(guī)則限流和防重復(fù)提交方案實(shí)現(xiàn)小結(jié),包括使用String結(jié)構(gòu)和Zset結(jié)構(gòu)來記錄用戶IP的訪問次數(shù),具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-02-02
  • Linux下Redis安裝教程詳解

    Linux下Redis安裝教程詳解

    這篇文章主要為大家詳細(xì)介紹了Linux下Redis安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • 基于Redis實(shí)現(xiàn)短信驗(yàn)證碼登錄功能

    基于Redis實(shí)現(xiàn)短信驗(yàn)證碼登錄功能

    對(duì)于我們用戶來講,我們?cè)诘顷懸粋€(gè)APP的時(shí)候,有很多種登陸方式,比如"微信掃碼"、"手機(jī)號(hào)登陸"、"支付寶掃碼"、"賬號(hào)密碼登錄",現(xiàn)在大多都會(huì)要求微信掃碼登錄或者是手機(jī)號(hào)驗(yàn)證碼登錄,所以本文給大家介紹了基于Redis實(shí)現(xiàn)短信驗(yàn)證碼登錄功能,需要的朋友可以參考下
    2025-01-01
  • redis中如何做到內(nèi)存優(yōu)化

    redis中如何做到內(nèi)存優(yōu)化

    為了提高數(shù)據(jù)處理效率和降低存儲(chǔ)成本,優(yōu)化數(shù)據(jù)結(jié)構(gòu)和采用高效的存儲(chǔ)策略至關(guān)重要,使用最小存儲(chǔ)形式、整數(shù)編碼、Redis的HyperLogLog等方法可以有效減少內(nèi)存占用,Redis6引入的對(duì)象壓縮、設(shè)置合理的過期時(shí)間、數(shù)據(jù)分片
    2024-09-09
  • Redis數(shù)據(jù)一致性問題的三種解決方案

    Redis數(shù)據(jù)一致性問題的三種解決方案

    Redis(Remote?Dictionary?Server?),是一個(gè)高性能的基于Key-Value結(jié)構(gòu)存儲(chǔ)的NoSQL開源數(shù)據(jù)庫(kù),大部分公司采用Redis來實(shí)現(xiàn)分布式緩存,用來提高數(shù)據(jù)查詢效率,本文就給大家介紹三種Redis數(shù)據(jù)一致性問題的解決方案,需要的朋友可以參考下
    2023-07-07
  • 詳解redis緩存與數(shù)據(jù)庫(kù)一致性問題解決

    詳解redis緩存與數(shù)據(jù)庫(kù)一致性問題解決

    這篇文章主要介紹了詳解redis緩存與數(shù)據(jù)庫(kù)一致性問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Centos7安裝redis的超詳細(xì)步驟教程

    Centos7安裝redis的超詳細(xì)步驟教程

    Redis是當(dāng)前比較熱門的NOSQL系統(tǒng)之一,它是一個(gè)key-value存儲(chǔ)系統(tǒng),下面這篇文章主要介紹了Centos7安裝redis的超詳細(xì)步驟,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • 多維度深入分析Redis的5種基本數(shù)據(jù)結(jié)構(gòu)

    多維度深入分析Redis的5種基本數(shù)據(jù)結(jié)構(gòu)

    此篇文章主要對(duì)Redis的5種基本數(shù)據(jù)類型,即字符串(String)、列表(List)、散列(Hash)、集合(Set)、有序集合(Sorted?Set),從使用場(chǎng)景和底層結(jié)構(gòu)出發(fā),進(jìn)行多維度深入分析。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-11-11

最新評(píng)論