redis watch multi exec 關系

EXEC

執行所有事務塊內的命令。

假如某個(或某些) key 正處于?WATCH?命令的監視之下,且事務塊中有和這個(或這些) key 相關的命令,那么EXEC?命令只在這個(或這些) key 沒有被其他命令所改動的情況下執行并生效,否則該事務被打斷(abort)。

返回值:
事務塊內所有命令的返回值,按命令執行的先后順序排列。
當操作被打斷時,返回空值?nil?。
# 監視 key ,且事務成功執行
127.0.0.1:6379> get key
"111"
127.0.0.1:6379> watch key
OK
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set key 222
QUEUED
127.0.0.1:6379> exec
1) OK
127.0.0.1:6379> get key
"222"
127.0.0.1:6379> # 監視 key ,且事務被打斷127.0.0.1:6379> set key 222
QUEUED
127.0.0.1:6379> exec
1) OK
127.0.0.1:6379> get key
"222"
127.0.0.1:6379> watch key
OK
127.0.0.1:6379> set key 333
OK
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set key 444
QUEUED
127.0.0.1:6379> exec
(nil)
127.0.0.1:6379> get key
"333"
------------------
在同一個客戶端下 只要在watch之后,multi執行之前改變key的值,則將以改變后的值為當前的key值,之后事務中執行關于改變key值的操作將不再生效.
在不同客戶端下,例如在a客戶端執行watch key 然后執行multi .這時在b客戶端下重新set key 值,再回到a客戶端,也重新設置另一個set key 值,這時exec后將返回為空值,最終key值為b客戶端下設定的值.
理論上來說將會以a客戶端在事務中最后設置的值為最終值,但是a客戶端會認為b客戶端在multi之前執行的值,此后a客戶端執行便返回為空.



轉載于:https://www.cnblogs.com/dantes91/p/4901598.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/258179.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/258179.shtml
英文地址,請注明出處:http://en.pswp.cn/news/258179.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Chrome 控制臺指南

轉自:http://blog.jobbole.com/76985/ Chrome的開發者工具已經強大到沒朋友的地步了,特別是其功能豐富界面友好的console,使用得當可以有如下功效: 更高「逼格」更快「開發調試」更強「進階級的Frontender」Bug無處遁形「Console大…

專家:大數據等新技術助力信息融合

ACCA中國區政策主管錢毓益本周末在出席由上海國家會計學院主辦的“管理會計:融合與創新”論壇時表示:新一輪以移動互聯網、物聯網和云計算及大數據為代表的信息技術,將融合與創新發展表現得淋漓盡致。 錢毓益指出,通過數字化轉型與…

python數據類型匯總_python基礎數據類型匯總

#!/usr/bin/env python# -*- encoding:utf-8 -*-# author:Administrator# make_time:2018/6/9‘‘‘數據類型:不可變數據類型:int、str、bool、tuple、frozenset可變數據類型:list、dict、set公共方法:count()、len()、del、copy(…

開發實戰細節之——關于整型轉換為字符串類型的性能與實現分析

細節決定成敗,開發中往往從一些細節就可以看出一個程序員的開發水準,下面我就給大家分享一下開發中最最常見的int轉換為String類型的方法及其性能解析。 一般大家最常用的方法有 方法一:String s1 String.valueOf(i); 方法二:St…

華為服務器故障燈不開機_華為服務器日常維護及故障處理介紹V.ppt

通電策略 power on上電自動開機。 power off上電不自動開機,需按前面板電源按鈕才能開機。 Last State上電開機與否取決于上次斷電之前的狀態,如果是關機狀態則通電后不能自動開機,如果是開機狀態則通電后可以自動開機。 硬件狗 BMC WDT Acti…

《黑客大曝光:移動應用安全揭秘及防護措施》一2.2 攻擊與對策

本節書摘來自華章出版社《黑客大曝光:移動應用安全揭秘及防護措施》一書中的第2章,第2.2節,作者 (美)Neil Bergman ,更多章節內容可以訪問云棲社區“華章計算機”公眾號查看 2.2 攻擊與對策 好&#xff0c…

Android 4.2 通知通過PendingIntent啟動Activity失敗的問題

今天突然發現在Android 4.2手機上點擊通知消息無法打開Activity的問題,具體Logcat信息如下: 01-09 11:37:43.733: WARN/ActivityManager(92): Unable to send startActivity intent java.lang.SecurityException: Permission Denial: starting Intent { …

ubuntu安裝sublime

添加sublime text 3的倉庫: sudo add-apt-repository ppa:webupd8team/sublime-text-3 更新軟件庫 sudo apt-get update 安裝Sublime Text 3: sudo apt-get install sublime-text-installer 安裝sublime2: sudo add-apt-repository ppa:webupd8team/sublime-text-2 …

jdbctemplate mysql 配置_Spring JDBCTemplate配置使用

一、開發環境Windows 10IntelliJ IDEA 2016.1 旗艦版JDK1.8二、項目和數據庫結構項目結構:數據庫(MySQL 5.5.39):/*Navicat MySQL Data TransferSource Server : localhostSource Server Version : 50539Source Host : localhost:3306Source Database : …

細數家庭安防五大亂象 何時能步入正軌

雖然智能家居行業在我國的成長已逾十個年頭了,但是目前市場離成型仍然有一段距離。市場上可謂“亂象”叢生,這些絆腳石嚴重阻礙了行業的良性發展。市場亂象繁生,智能家居從概念炒作到價格高抬,相關預測顯示,若真如電商…

HDU 1181 變形課

Problem Description呃......變形課上Harry碰到了一點小麻煩,由于他并不像Hermione那樣可以記住全部的咒語而任意的將一個棒球變成刺猬什么的,可是他發現了變形咒語的一個統一規律:假設咒語是以a開頭b結尾的一個單詞,那么它的作用就恰好是使A物體變成B物體. Harry已經將他所會的…

多線程(同步代碼塊和同步函數)

線程安全問題 當多條語句在操作同一個線程共享數據時,一個線程對多條語句只執行了一部分,還沒有執行完, 另一個線程參與進來執行。導致共享數據的錯誤。解決辦法: 對多條操作共享數據的語句,只能讓一個線程都執行…

沒有基礎學python_python沒有基礎好學嗎

什么是Python?Python是一種計算機程序設計語言。你可能已經聽說過很多種流行的編程語言,比如非常難學的C語言,非常流行的Java語言,適合初學者的Basic語言,適合網頁編程的JavaScript語言等,Python是他們其中…

C++中的頭文件和源文件

一、C編譯模式 通常,在一個C程序中,只包含兩類文件——cpp文件和h文件。cpp文件被稱作C源文件,里面放的都是C的源代碼;h文件則被稱作C頭文件,里面放的也是C的源代碼。 C 語言支持“分別編譯”(separ…

Hibernate 事物隔離級別 深入探究

目錄 一、數據庫事務的定義 二、數據庫事務并發可能帶來的問題 三、數據庫事務隔離級別 四、使用Hibernate設置數據庫隔離級別 五、使用悲觀鎖解決事務并發問題 六、使用樂觀鎖解決事務并發問題 Hibernate事務與并發問題處理(樂觀鎖與悲觀鎖) 一、數據庫…

Linked List Cycle II - LeetCode

Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Note: Do not modify the linked list. Follow up:Can you solve it without using extra space? 思路:維護兩個指針slow和fast。先判斷是否存在環。 在判斷是否…

mysql 無論輸入什么都是現實 not found_NotAPanda

前言面試競爭力越來越大,是時候擼一波Vue和React源碼啦;本文從20個層面來對比Vue和React的源碼區別;如果需要了解API的區別,請戳:Vue 開發必須知道的 36 個技巧React 開發必須知道的 34 個技巧文章源碼:請戳…

這五張PPT告訴你,如何打造無人駕駛“最強大腦”

“英特爾在談無人駕駛,會成為汽車制造商嗎?NO!我們要為無人駕駛提供從車、連接到云的‘最強大腦’。” 在昨天于北京舉行的英特爾無人駕駛分享會上,英特爾無人駕駛事業部中國區市場總監徐偉杰在主旨演講中開門見山。 這也是英特爾無人駕駛事業部去年11月…

javascript之ua與urlSchema

我們首先拿到瀏覽器ua: 1 var ua navigator.userAgent; 1 if (ua.indexOf("MicroMessenger") > -1) { 2 alert("微信瀏覽器"); 3 } 1 if (ua.indexOf("iPhone") > -1) { 2 alert("iphone"); 3 } 其…

ezdpl Linux自動化部署實戰

最近把ezdpl在生產環境中實施了,再加上這段時間的一些修改,一并介紹一下。再次申明: ezdpl不是開箱即用的,需要根據自己的應用環境定制。對初學者來說使用起來反倒困難更多、風險更大。它不是一個通用的項目,更多的是提…