疑點(diǎn)如下偽代碼中//其中con客戶端redis鏈接,key1,key2分別是兩個(gè)鍵funchandler(con,key1,key2){con.mutl()con.set(key1,value1)//我的疑問是在這里:當(dāng)本事務(wù)執(zhí)行的過程中,也就是被redis-server執(zhí)行的過程中,//key2的值沒有沒有可能被改變?在什么情況下才會(huì)變?謝謝您的回答con.exec()}MUTL/EXEC執(zhí)行事務(wù)中redis是不是還可以同時(shí)改變其他的鍵值?概念理解redis事務(wù)的作用:1.保證被事務(wù)包含的命令要么全部執(zhí)行,要么全部不執(zhí)行(注意:在執(zhí)行事務(wù)的過程中遇到錯(cuò)誤可能會(huì)導(dǎo)致有些命令不能執(zhí)行).2.保證被事務(wù)包含的命令執(zhí)行時(shí)不被打斷.對(duì)于第二點(diǎn)來說,于任何客戶端來說啟用多線程來執(zhí)行被事務(wù)包含的代碼沒多大效果;因?yàn)閞edis是一個(gè)進(jìn)程(沒有多線程),也就是說執(zhí)行體只有一個(gè);同時(shí)又因?yàn)槭聞?wù)的存在,同一時(shí)刻只有一個(gè)事務(wù)在執(zhí)行(事務(wù)包含命令沒有并行執(zhí)行),所以說客戶端通過多線程方式執(zhí)行被redis事務(wù)包含的命令作用不大;同時(shí)也說明被事務(wù)包含的代碼可以防止資源的競爭.偽代碼說明fori=0;i
Understand Redis Transaction
慕尼黑8549860
2019-07-06 23:13:33