91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis事務怎么用

發布時間:2021-11-11 09:56:47 來源:億速云 閱讀:144 作者:小新 欄目:數據庫

小編給大家分享一下Redis事務怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

事務:
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> sadd "user:1:state" 1
QUEUED
127.0.0.1:6379> SADD "user:2:state" 2
QUEUED
127.0.0.1:6379> EXEC
1) (integer) 1
2) (integer) 1

由MULTI發起事務,后面的sadd命令來實現關注和被關注的操作,redis并沒有執行這些命令,而是返回QUEUED表示這兩條命令已經進入等待執行的事務隊列中。
當exec之后告訴redis將等待的食物隊列中的所有命令按照發送順序依次執行。exec的返回值順序和命令的順序相同。


1.語法錯誤:
語法錯誤指命令不存在或者命令的參數個數不對,如下:
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> set name Mike
QUEUED
127.0.0.1:6379> errorcommand name
(error) ERR unknown command 'errorcommand'
127.0.0.1:6379> EXEC
(error) EXECABORT Transaction discarded because of previous errors.
由于存在不正確的命令,redis直接返回錯誤把整個事務discard了。它連語法正確的都不會執行,如下:
127.0.0.1:6379> MGET name
1) (nil)


2.運行錯誤:運行錯誤是命令執行時出現的錯誤,比如使用了錯誤命令操作數據類型。
這種錯誤redis會繼續執行,redis無法發現錯誤。
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> set name hello
QUEUED
127.0.0.1:6379> SADD name 3
QUEUED
127.0.0.1:6379> SET name "abc"
QUEUED
127.0.0.1:6379> EXEC
1) OK
2) (error) WRONGTYPE Operation against a key holding the wrong kind of value
3) OK
127.0.0.1:6379> GET name
"abc"

這種錯誤只能依賴程序員去把握與檢查錯誤。


WATCH命令:監控一個或多個鍵,一但其中某個鍵值被修改,之后的事務就不會執行。監控會一直持續到exec命令。
127.0.0.1:6379> SET key 1
OK
127.0.0.1:6379> WATCH key
OK
127.0.0.1:6379> SET key 2
OK
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> SET key 3
QUEUED
127.0.0.1:6379> EXEC
(nil)    // 返回nil,說明監視的ticket已經改變了,事務就取消了.
127.0.0.1:6379> GET key
"2"

發布/訂閱 分別發布者和訂閱者,訂閱者可以訂閱一個或者若干個頻道,而發布者可以向指定的頻道發布消息。所有訂閱此頻道的訂閱者都會受到此消息
發布消息:
127.0.0.1:6379> PUBLISH newsChannel "good morning news report"
(integer) 0
暫時沒有訂閱者返回為0

訂閱消息:
127.0.0.1:6379> SUBSCRIBE newsChannel
Reading messages... (press Ctrl-C to quit)
1) "subscribe"    //subscribe 表示訂閱成功的反饋。第二個值是成功訂閱的頻道名,第三個值是當前客戶端訂閱的頻道數量。
如果是message 這個類型回復是我們關心的,表示接收到的消息,第二個值表示產生消息的頻道名稱。第三個值是消息的內容。
unsubscribe 取消訂閱某個頻道,第二個值是對應的頻道名稱,第三個值是當前客戶端訂閱的頻道數量。
2) "newsChannel"
3) (integer) 1
利用publish 再次發布消息:
127.0.0.1:6379> PUBLISH newsChannel "News 2"
(integer) 1
訂閱頻道:
127.0.0.1:6379> SUBSCRIBE newsChannel
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "newsChannel"
3) (integer) 1
^[[A1) "message"
2) "newsChannel"
3) "News 2"
可以按照正則表達式訂閱多個頻道:
127.0.0.1:6379> PSUBSCRIBE news*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "news*"
3) (integer) 1

PSUBSCRIBE去訂閱以news開頭任意字符結尾的頻道.
127.0.0.1:6379> PSUBSCRIBE news*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "news*"
3) (integer) 1
1) "pmessage"
2) "news*"
3) "newsChannel"
4) "News 3"

以上是“Redis事務怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

瓮安县| 平凉市| 乌拉特前旗| 公主岭市| 蒙城县| 哈尔滨市| 新平| 霞浦县| 准格尔旗| 图木舒克市| 石阡县| 海兴县| 万源市| 佳木斯市| 台南县| 将乐县| 修文县| 黄浦区| 成武县| 钟山县| 绥阳县| 江津市| 华宁县| 洛南县| 定远县| 巨野县| 咸丰县| 安吉县| 清河县| 泸西县| 永丰县| 翼城县| 福海县| 无棣县| 镇康县| 莱州市| 太原市| 琼结县| 延津县| 治多县| 苏尼特左旗|