日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
RedisTransaction事務(wù)
Redis 事務(wù)的目的是方便用戶一次執(zhí)行多個命令。執(zhí)行 Redis 事務(wù)可分為三個階段:

  • 開始事務(wù)
  • 命令入隊
  • 執(zhí)行事務(wù)

Redis事務(wù)特性

Redis 事務(wù)具有兩個重要特性:

1) 單獨的隔離操作

事務(wù)中的所有命令都會被序列化,它們將按照順序執(zhí)行,并且在執(zhí)行過的程中,不會被其他客戶端發(fā)送來的命令打斷。

2) 不保證原子性

在 Redis 的事務(wù)中,如果存在命令執(zhí)行失敗的情況,那么其他命令依然會被執(zhí)行,不支持事務(wù)回滾機制。

注意:Redis 不支持事務(wù)回滾,原因在于 Redis 是一款基于內(nèi)存的存儲系統(tǒng),其內(nèi)部結(jié)構(gòu)比較簡單,若支持回滾機制,則讓其變得冗余,并且損耗性能,這與 Redis 簡單、快速的理念不相符合。

Redis事務(wù)命令

Redis事務(wù)命令
命令 說明
MULTI 開啟一個事務(wù)
EXEC 執(zhí)行事務(wù)中的所有命令
WATCH key [key ...] 在開啟事務(wù)之前用來監(jiān)視一個或多個key 。如果事務(wù)執(zhí)行時這些 key 被改動過,那么事務(wù)將被打斷。
DISCARD 取消事務(wù)。
UNWATCH 取消 WATCH 命令對 key 的監(jiān)控。

Redis事務(wù)應(yīng)用

您可以把事務(wù)可以理解為一個批量執(zhí)行 Redis 命令的腳本,但這個操作并非原子性操作,也就是說,如果中間某條命令執(zhí)行失敗,并不會導致前面已執(zhí)行命令的回滾,同時不會中斷后續(xù)命令的執(zhí)行(不包含監(jiān)聽 key 的情況)。示例如下:

開啟事務(wù)
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> INCR 1
QUEUED #命令入隊成功
127.0.0.1:6379> SET num 10
QUEUED
#批量執(zhí)行命令
127.0.0.1:6379> EXEC
1) (integer) 1
2) OK

若您在事務(wù)開啟之前監(jiān)聽了某個 key,那么您不應(yīng)該在事務(wù)中嘗試修改它,否則會導致事務(wù)中斷。

開啟事務(wù)之前設(shè)置key/value,并監(jiān)聽
127.0.0.1:6379> set www.biancheng.net hello
OK
127.0.0.1:6379> WATCH www.biancheng.net
OK
127.0.0.1:6379> get www.biancheng.net
"hello"
#開啟事務(wù)
127.0.0.1:6379> MULTI
OK
#更改key的value值
127.0.0.1:6379> set www.biancheng.net HELLO
QUEUED
127.0.0.1:6379> GET www.biancheng.net
QUEUED
#命令執(zhí)行失敗
127.0.0.1:6379> EXEC
(error) EXECABORT Transaction discarded because of previous errors.
#取消監(jiān)聽key
127.0.0.1:6379> UNWATCH 
OK 

在線練習工具:https://try.redis.io/

查看更多 Redis 命令:https://redis.io/commands


網(wǎng)頁題目:RedisTransaction事務(wù)
分享地址:http://www.5511xx.com/article/djiecii.html