Redis的事務處理

2021-07-26 09:12:15 字數 1100 閱讀 1811

multi 開啟事務

exec 提交事務

discard取消事務

127.0

.0.1

:6379> multi

ok127.0

.0.1

:6379> set

djkfdjs

queued

127.0

.0.1

:6379> set

djklg

djgl

queued

127.0

.0.1

:6379> discard

ok127.0

.0.1

:6379> exec

(error) err

exec

without

multi

4 watch監聽key值

watch: 在事務開啟之前監聽乙個或多個keys值,如果在事務執行時,客戶端進行修改該值,那麼事務都不執行。

127.0

.0.1

:6379> watch

hello

ok127.0

.0.1

:6379> multi

ok127.0

.0.1

:6379> set

hello

ffff

queued

127.0

.0.1

:6379> set

name

zllqueued

127.0

.0.1

:6379> exec

(nil)

public

class jedistransaction

@test

public

void

testtransaction()

@test

public

void

testwatch()

@test

public

void

testdiscard()

}

redis事務處理

資料acid特性滿足了幾條?為了保持簡單,redis事務保證了其中的一致性和隔離性 不滿足原子性和永續性 redis事務在執行的中途遇到錯誤,不會回滾,而是繼續執行後續命令 違反原子性 事務可以理解為乙個打包的批量執行指令碼,但批量指令並非原子化的操作 中間某條指令的失敗不會導致前面已做指令的回滾,...

redis事務處理

1 multi命令用於開啟乙個事務,它總是返回ok multi執行之後,客戶端可以繼續向伺服器傳送任意多條命令,這些命令不會立即被執行,而是被放到乙個佇列中 2 exec命令被呼叫時,所有佇列中的命令才會被執行 multi ok incr foo queued set t1 1 queued exe...

Redis 事務處理

眾所周知,事務是指 乙個完整的動作,要麼全部執行,要麼什麼也沒有做 在聊 redis 事務處理之前,要先和大家介紹四個redis指令,即multi exec discard watch。這四個指令構成了redis事務處理的基礎。呼叫 exec 之前的錯誤 語法錯誤 呼叫exec之前的錯誤 有可能是由...