Redis的事務
Redis 事務可以一次執行多個命令, 並且帶有以下兩個重要的保證:
事務是一個單獨的隔離操作:事務中的所有命令都會序列化、按順序地執行。事務在執行的過程中,不會被其他客戶端傳送來的命令請求所打斷。
事務是一個原子操作:事務中的命令要麼全部被執行,要麼全部都不執行。
一個事務從開始到執行會經歷以下三個階段:
開始事務。
命令入隊。
執行事務。
例項
以下是一個事務的例子,它先以 MULTI 開始一個事務,然後將多個命令入隊到事務中,最後由 EXEC 命令觸發事務,一併執行事務中的所有命令:
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set tran_string"message"
QUEUED
127.0.0.1:6379> get tran_string
QUEUED
127.0.0.1:6379> sadd tran_set"abc" "bcd"
QUEUED
127.0.0.1:6379> smembers tran_set
QUEUED
127.0.0.1:6379> exec
1) OK
2) "message"
3) (integer) 2
4) 1) "bcd"
2)"abc"
Redis事務命令
DISCARD 取消事務,放棄執行事務塊內的所有命令。
EXEC 執行所有事務塊內的命令。
MULTI 標記一個事務塊的開始。
UNWATCH 取消 WATCH 命令對所有 key 的監視。
WATCH key [key ...] 監視一個(或多個) key ,如果在事務執行之前這個(或這些) key 被其他命令所改動,那麼事務將被打斷。
相關文章
- Redis 中的事務Redis
- redis事務Redis
- Redis 事務Redis
- 十、Redis事務、事務鎖Redis
- 雞肋的Redis事務Redis
- redis-事務Redis
- Redis事務操作Redis
- Redis系列(九):Redis的事務機制Redis
- Redis系列12:Redis 的事務機制Redis
- 【Redis 系列】redis 學習六,redis 事務處理和監控事務Redis
- Redis 中的事務分析,Redis 中的事務可以滿足ACID屬性嗎?Redis
- 不支援原子性的 Redis 事務也叫事務嗎?Redis
- Redis--事務理解Redis
- NoSql-Redis事務SQLRedis
- 你應該知道的Redis事務Redis
- Redis 事務支援 ACID 麼?Redis
- redis-19.事務-鎖Redis
- redis學習(九) redis事務和redis指令碼的比較Redis指令碼
- 跨Mysql、Redis、Mongo的分散式事務MySqlRedisGo分散式
- 誰說Redis不支援事務?Redis
- 一文了解:Redis事務Redis
- 2020重新出發,NOSQL,Redis的事務SQLRedis
- Redis篇:事務和lua指令碼的使用Redis指令碼
- 不能回滾的Redis事務還能用嗎Redis
- 深入理解Redis事務、事務異常、樂觀鎖、管道Redis
- 如何在Redis中實現事務Redis
- redis(10)事務和鎖機制Redis
- 一文講透 Redis 事務 (事務模式 VS Lua 指令碼)Redis模式指令碼
- Redis的事務、樂觀鎖和悲觀鎖Redis
- Redis 設計與實現 (七)--事務Redis
- 使用Spring Boot實現Redis事務 | VinsguruSpring BootRedis
- 面試官:Redis的事務滿足原子性嗎?面試Redis
- 詳談:Redis事務和訊息訂閱Redis
- Golang 實現 Redis(8): TCC分散式事務GolangRedis分散式
- Redis-第六章節-事務Redis
- 一篇和Redis有關的鎖和事務的文章Redis
- Lua 指令碼在 Redis 事務中的應用實踐指令碼Redis
- Lua指令碼在Redis事務中的應用實踐指令碼Redis
- Redis中的事務處理機制分析與總結Redis