redis的事務處理

一、redis事務能夠依次執行多個命令,而且帶有如下三個重要的保證:redis

  1. 批量操做在發送exec命令前被放入隊列緩存。
  2. 收到exec命令後進入事務執行,事務中任意命令執行失敗,其他的命令依然被執行。
  3. 在事務執行過程,其餘客戶端提交的命令請求不會插入到事務執行命令序列中。

二、一個事務從開始到執行會經歷一下三個階段:緩存

  1. 開始事務
  2. 命令入隊
  3. 執行事務

三、事務處理相關命令spa

  • 命令名稱:multi
  • 語法:multi
  • 功能:
    • 標記一個事務塊的開始
  • 返回值:
    • 老是返回OK

 

  • 命令名稱:exec
  • 語法:exec
  • 功能:
    • 執行全部事務塊內的命令。
  • 返回值:
    • 事務塊內全部命令的返回值,按命令執行的前後順序排列。
    • 當操做被打斷時,返回空值nil。

 

  • 命令名稱:discard
  • 語法:discard
  • 功能:
    • 取消事務,放棄執行事務塊內的全部命令。
  • 返回值:
    • 老是返回OK

 

  • 命令名稱:watch
  • 語法:watch key [key……]
  • 功能:
    • 監視一個(或多個)key,若是在事務執行以前這個(或這些)key被其餘命令所改動,那麼事務將被打斷。
  • 返回值:
    • 老是返回OK

 

  • 命令名稱:unwatch
  • 語法:unwatch
  • 功能:
    • 取消watch命令對全部key的監視。
    • 若是在執行watch命令以後,exec命令或discard命令先被執行了的話,那麼久不須要再執行unwatch了
  • 返回值:老是返回OK
相關文章
相關標籤/搜索