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

Redis實(shí)現(xiàn)事物以及鎖的方法

 更新時(shí)間:2022年07月27日 09:36:42   作者:我是一棵卷心菜  
本文主要介紹了Redis實(shí)現(xiàn)事物以及鎖的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、什么是Redis事物

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

作用:串聯(lián)多個(gè)命令防止別的命令插隊(duì)。

二、Redis 事務(wù)命令

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

注意:加入事務(wù)的命令暫時(shí)進(jìn)入到任務(wù)隊(duì)列中,并沒有立即執(zhí)行,只有執(zhí)行exec命令才開始執(zhí)行

三、命令行演示

演示事物的開始、執(zhí)行

127.0.0.1:6379> MULTI
OK
127.0.0.1:6379(TX)> set name cabbage
QUEUED
127.0.0.1:6379(TX)> set age 20
QUEUED
127.0.0.1:6379(TX)> EXEC
1) OK
2) OK
127.0.0.1:6379> keys * 
1) "name"
2) "age"

演示事物的開始與取消:

127.0.0.1:6379> MULTI
OK
127.0.0.1:6379(TX)> set name cabbage
QUEUED
127.0.0.1:6379(TX)> set age 20
QUEUED
127.0.0.1:6379(TX)> DISCARD
OK
127.0.0.1:6379> keys *
(empty array)

演示事物的watch:

四、事物注意事項(xiàng)

指命令書寫格式有誤時(shí),整體事務(wù)中所有命令均不會(huì)執(zhí)行,包括那些語法正確的命令

指命令格式正確,但是無法正確的執(zhí)行時(shí),能夠正確運(yùn)行的命令會(huì)執(zhí)行,運(yùn)行錯(cuò)誤的命令不會(huì)被執(zhí)行且對應(yīng)的數(shù)據(jù)不會(huì)實(shí)現(xiàn)回滾。

五、事務(wù)三特性

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

沒有隔離級別的概念
隊(duì)列中的命令沒有提交之前都不會(huì)實(shí)際被執(zhí)行,因?yàn)槭聞?wù)提交前任何指令都不會(huì)被實(shí)際執(zhí)行

不保證原子性
事務(wù)中如果有一條命令執(zhí)行失敗,其后的命令仍然會(huì)被執(zhí)行,沒有回滾

六、分布式鎖

業(yè)務(wù)分析:雖然redis是單線程的,但是多個(gè)客戶端對同一數(shù)據(jù)同時(shí)進(jìn)行操作時(shí),如何避免不被同時(shí)修改?

解決方案:使用 expire 為鎖key添加時(shí)間限定,到時(shí)不釋放,則放棄鎖

命令行演示:

127.0.0.1:6379> set name cabbage
OK
127.0.0.1:6379> setnx lock_time 1
(integer) 1
127.0.0.1:6379> EXPIRE lock_time 20
(integer) 1
127.0.0.1:6379> get name 
"cabbage"

通過這種方式,即使某個(gè)客戶端由于某種原因沒有手動(dòng)釋放鎖,也不會(huì)造成死鎖。因?yàn)樵O(shè)置了鎖lock_time的有效時(shí)間為20秒,當(dāng)20秒過后,其它的客戶端就可以拿到鎖、實(shí)施業(yè)務(wù)操作、釋放鎖了。

到此這篇關(guān)于Redis實(shí)現(xiàn)事物以及鎖的方法的文章就介紹到這了,更多相關(guān)Redis 事物及鎖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Redis與緩存解讀

    Redis與緩存解讀

    文章介紹了Redis作為緩存層的優(yōu)勢和缺點(diǎn),并分析了六種緩存更新策略,包括超時(shí)剔除、先刪緩存再更新數(shù)據(jù)庫、旁路緩存、先更新數(shù)據(jù)庫再刪緩存、先更新數(shù)據(jù)庫再更新緩存、讀寫穿透和異步緩存寫入模式,還討論了緩存常見問題
    2025-01-01
  • Redis遍歷所有key的兩個(gè)命令(KEYS 和 SCAN)

    Redis遍歷所有key的兩個(gè)命令(KEYS 和 SCAN)

    這篇文章主要介紹了Redis遍歷所有key的兩個(gè)命令(KEYS 和 SCAN),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 淺談Redis存儲(chǔ)數(shù)據(jù)類型及存取值方法

    淺談Redis存儲(chǔ)數(shù)據(jù)類型及存取值方法

    這篇文章主要介紹了淺談Redis存儲(chǔ)數(shù)據(jù)類型及存取值方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Redis如何實(shí)現(xiàn)計(jì)數(shù)統(tǒng)計(jì)

    Redis如何實(shí)現(xiàn)計(jì)數(shù)統(tǒng)計(jì)

    這篇文章主要介紹了Redis如何實(shí)現(xiàn)計(jì)數(shù)統(tǒng)計(jì)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 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?zSet實(shí)現(xiàn)滑動(dòng)窗口對短信進(jìn)行防刷限流的問題

    基于Redis?zSet實(shí)現(xiàn)滑動(dòng)窗口對短信進(jìn)行防刷限流的問題

    這篇文章主要介紹了基于Redis?zSet實(shí)現(xiàn)滑動(dòng)窗口對短信進(jìn)行防刷限流,主要針對目前線上短信被腳本惡意盜刷的情況,用Redis實(shí)現(xiàn)滑動(dòng)窗口限流,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-02-02
  • 解讀redis?slaveof命令執(zhí)行后為什么需要清庫重新同步

    解讀redis?slaveof命令執(zhí)行后為什么需要清庫重新同步

    這篇文章主要介紹了redis?slaveof命令執(zhí)行后為什么需要清庫重新同步,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • springboot +redis 實(shí)現(xiàn)點(diǎn)贊、瀏覽、收藏、評論等數(shù)量的增減操作

    springboot +redis 實(shí)現(xiàn)點(diǎn)贊、瀏覽、收藏、評論等數(shù)量的增減操作

    這篇文章主要介紹了springboot +redis 實(shí)現(xiàn)點(diǎn)贊、瀏覽、收藏、評論等數(shù)量的增減操作,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • redis的key出現(xiàn)的\xac\xed\x00\x05t\x00亂碼問題及解決

    redis的key出現(xiàn)的\xac\xed\x00\x05t\x00亂碼問題及解決

    這篇文章主要介紹了redis的key出現(xiàn)的\xac\xed\x00\x05t\x00亂碼問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • 解鎖redis鎖的正確姿勢

    解鎖redis鎖的正確姿勢

    這篇文章主要為大家詳細(xì)介紹了解鎖redis鎖的正確姿勢,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03

最新評論

娄底市| 全南县| 弋阳县| 晋州市| 利川市| 大名县| 景宁| 屏东市| 东港市| 阿荣旗| 读书| 新昌县| 长丰县| 大洼县| 栾城县| 澄江县| 平江县| 阜新市| 泽普县| 桃园县| 嘉祥县| 罗源县| 新巴尔虎右旗| 长顺县| 武冈市| 扬州市| 开江县| 宜春市| 灵丘县| 永川市| 黄龙县| 济宁市| 阳曲县| 庆城县| 天门市| 建平县| 珠海市| 通州区| 苍梧县| 紫云| 凤阳县|