什么是事務?
Redis 的事務和 MySQL 的事務概念上是類似的. 都是把?系列操作綁定成?組. 讓這?組能夠批量執行。
但是注意體會 Redis 的事務和 MySQL 事務的區別:
- 弱化的原?性: redis 沒有 “回滾機制”. 只能做到這些操作 “批量執?”. 不能做到 “?個失敗就恢復到初始狀態”.
- 不保證?致性: 不涉及 “約束”. 也沒有回滾. MySQL 的?致性體現的是運?事務前和運?后 , 結果都是合理有效的, 不會出現中間?法狀態.
- 不需要隔離性: 也沒有隔離級別, 因為不會并發執?事務 (redis 單線程處理請求) .
- 不需要持久性: 是保存在內存的. 是否開啟持久化, 是redis-server ??的事情, 和事務?關.
Redis 事務本質上是在服務器上搞了?個 “事務隊列”. 每次客?端在事務中進??個操作, 都會把命令先發給服務器, 放到 “事務隊列” 中(但是并不會?即執?)。
?是會在真正收到 EXEC 命令之后, 才真正執?隊列中的所有操作。