事務
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站設計、成都網(wǎng)站制作、修文網(wǎng)絡推廣、重慶小程序開發(fā)、修文網(wǎng)絡營銷、修文企業(yè)策劃、修文品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供修文建站搭建服務,24小時服務熱線:028-86922220,官方網(wǎng)址:www.rwnh.cn
MULTI 、 EXEC 、 DISCARD 和 WATCH 是 redis 事務相關的命令。事務可以一次執(zhí)行多個命令, 并且?guī)в幸韵聝蓚€重要的保證:
事務是一個單獨的隔離操作:事務中的所有命令都會序列化、按順序地執(zhí)行。事務在執(zhí)行的過程中,不會被其他客戶端發(fā)送來的命令請求所打斷。
事務是一個原子操作:事務中的命令要么全部被執(zhí)行,要么全部都不執(zhí)行。
EXEC 命令負責觸發(fā)并執(zhí)行事務中的所有命令:
如果客戶端在使用 MULTI 開啟了一個事務之后,卻因為斷線而沒有成功執(zhí)行 EXEC ,那么事務中的所有命令都不會被執(zhí)行。
另一方面,如果客戶端成功在開啟事務之后執(zhí)行 EXEC ,那么事務中的所有命令都會被執(zhí)行。
當使用 AOF 方式做持久化的時候, Redis 會使用單個 write(2) 命令將事務寫入到磁盤中。
然而,如果 Redis 服務器因為某些原因被管理員殺死,或者遇上某種硬件故障,那么可能只有部分事務命令會被成功寫入到磁盤中。
如果 Redis 在重新啟動時發(fā)現(xiàn) AOF 文件出了這樣的問題,那么它會退出,并匯報一個錯誤。
使用redis-check-aof程序可以修復這一問題:它會移除 AOF 文件中不完整事務的信息,確保服務器可以順利啟動。
從 2.2 版本開始,Redis 還可以通過樂觀鎖(optimistic lock)實現(xiàn) CAS (check-and-set)操作,具體信息請參考文檔的后半部分。Redis事務可以執(zhí)行一系列的腳本,并且?guī)в幸韵聝蓚€重要的保證:
批量的命令在Exec命令之前,事務中任意命令執(zhí)行失敗,其余的命令依然被執(zhí)行。在事務執(zhí)行過程,其他客戶端提交的命令請求不會插入到事務執(zhí)行命令序列中。
一個事務從開始到執(zhí)行會經(jīng)歷以下三個階段:開始-入隊-執(zhí)行。本文介紹下Redis事務的常用命令。
DISCARD取消事務,放棄執(zhí)行事務塊內(nèi)的所有命令。命令的執(zhí)行如下所示。先選取一段命令,然后執(zhí)行該命令取消
Exec命令:執(zhí)行所有的腳本命令。事務塊內(nèi)所有命令的返回值,按命令執(zhí)行的先后順序排列。 當操作被打斷時,返回空值 nil 。
# 監(jiān)視 key ,且事務成功執(zhí)行??梢员O(jiān)控Key的值的變化以及執(zhí)行事務的執(zhí)行情況。
# 監(jiān)視 key ,且事務執(zhí)行中斷??梢员O(jiān)控事務的執(zhí)行情況,以及事務中斷的情況。
Redis Multi 命令。用于標記一個事務塊的開始。事務塊內(nèi)的多條命令會按照先后順序被放進一個隊列當中,輸入完成命令之后,輸入exec執(zhí)行命令。
UNwatch命令用于取消事務的監(jiān)視。當輸入一個命令監(jiān)視時,可以通過UNwatch命令,取消對命令的監(jiān)視。
網(wǎng)站欄目:redis事務常用操作詳解
當前地址:http://www.rwnh.cn/article38/jepgsp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、定制網(wǎng)站、網(wǎng)站導航、品牌網(wǎng)站設計、企業(yè)網(wǎng)站制作、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)