Redis學習 3 事務

2021-10-08 19:41:30 字數 742 閱讀 4320

redis 事務可以一次執行多個命令, 並且帶有以下三個重要的保證:

乙個事務從開始到執行會經歷以下三個階段:

redis 127.0.0.1:6379> multi

okredis 127.0.0.1:6379> set book-name "mastering c++ in 21 days"

queued

redis 127.0.0.1:6379> get book-name

queued

redis 127.0.0.1:6379> sadd tag "c++" "programming" "mastering series"

queued

redis 127.0.0.1:6379> smembers tag

queued

redis 127.0.0.1:6379> exec

1) ok

2) "mastering c++ in 21 days"

3) (integer) 3

4) 1) "mastering series"

2) "c++"

3) "programming"

單個 redis 命令的執行是原子性的,但 redis 沒有在事務上增加任何維持原子性的機制,所以 redis 事務的執行並不是原子性的。

事務可以理解為乙個打包的批量執行指令碼,但批量指令並非原子化的操作,中間某條指令的失敗不會導致前面已做指令的回滾,也不會造成後續的指令不做。

redis學習3 事務

是什麼?可以一次執行多個命令,本質是一組命令的集合,乙個事務中所有命令都會被序列號,按照順序序列化執行而不會被其他的命令插入,不許加塞。能幹嘛?乙個佇列中,一次性,順序性,排他性的完成一系列的命令 常用命令 discard取消事務,放棄執行事務塊內所有命令 exec執行所有事務塊的命令 multi標...

Redis學習筆記 Redis事務

redis事務可以一次執行多個命令 按順序地序列執行,執行中不會被其他命令插入,不許加塞 1.簡介 redis事務可以一次執行多個命令 允許在一次單獨的步驟中執行一組命令 特徵 1 批量操作在傳送exec命令前被放入佇列快取 2 收到exec命令後進入事務執行,事務中任意命令執行失敗,其餘的命令依然...

redis學習之redis事務

redis事務的本質是一組命令的集合。事務支援一次執行多個命令,乙個事務中所有命令都會被序列化。在事務執行過程中,會按照順序序列化執行佇列中的命令,其他客戶端提交的命令請求不會插入到事務執行命令序列中。總結來說 redis事務就是一次性 順序性 排他性的執行乙個佇列中的一系列命令。批量操作在傳送ex...