redis資料庫的事務機制

2021-09-26 23:22:17 字數 765 閱讀 1587

redis雖然是nosql資料庫,但是作為被使用廣泛的快取性高速資料庫,當乙個鍵被多個請求同時訪問時,如何保證資料安全呢?

其實redis也是有事務機制的,redis的事務機制類似於批處理功能,一旦開啟,不允許被打斷

事務機制的五個常用命令

1,watch

2,unwatch

3,multi

4,exec

5,discard

為了保證事務的一致性,開啟事務前必須使用watch命令監視要操作的記錄

當然,也可以使用unwatch取消

例如我要對秒殺數量和秒殺使用者開啟事務

redis>watch kill_num kill_user  #監視鍵

redis>multi #開啟事務

redis>incr kill_num #秒殺數+1

redis>rpush kill_user 9053 #新增一位成功秒殺的使用者

redis>exec #提交操作

redis是沒有回滾機制的,一旦提交,無法回退

redis>watch kill_num kill_user  #監視鍵

redis>multi #開啟事務

redis>incr kill_num #秒殺數+1

redis>rpush kill_user 9053 #新增一位成功秒殺的使用者

redis>discard #取消操作

當然,可以使用discard取消本次操作

資料庫事務機制

什麼是事務 事務 transaction 是併發控制的單位,是使用者定義的乙個操作序列。這些操作要麼都做,要麼都不做,是乙個不可分割的工作單位。通過事務,sql server能將邏輯相關的一組操作繫結在一起,以便伺服器保持資料的完整性。當我們需要執行多個sql語句,我們需要用事務操作,保證sql要麼...

資料庫事務和鎖機制

前幾日有乙個獵頭公司的面試,其中問道我事務隔離這塊的知識點,猛一問真是想不起來啊,頓感羞愧啊,回來專門總結一下這方面的知識來夯實一下之前的知識體系,也提醒廣大園友們進步在於總結啊,好多不用的知識點,有時候有必要溫故知新啊。簡介 acid,是指在可靠資料庫管理系統 dbms 中,事務 transact...

redis事務機制

1 moulti 與 exec 以 moulti 開始乙個事務,然後將多個命令入隊到事務中,最後由 exec 命令觸發事務,一併執行事務中的所有命令 2 discard 命令 discard 命令用於取消乙個事務,它清空客戶端的整個事務佇列,然後將客戶端從事務狀態調整回非事務狀態,最後返回字串 ok...