常用命令
命令功能
discard
取消事務,放棄執行事務塊內所有命令
exec
執行所有事務塊內的命令
multi
標記乙個事務塊開始
unwatch
取消watch命令對所有key的監視
watch
監視1個或多個key,如果在事務執行之前這個key被其他命令所改動,那麼事務將被打斷
1)正常執行
2)放棄事務
3)redis語法錯誤(回滾)
有點像編譯時異常
4)執行錯誤丟擲
像執行時異常
5)watch監控
① 監控了key,如果key被修改了,後面乙個事務的執行失效
②可以通過unwatch取消全部監控
③一旦執行了exec之前加的監控鎖都會被取消掉了
1)開啟:以multi開始乙個事務
2)入隊:將多個命令入隊到事務中,接到這些命令並不會立即執行,而是放到等待執行的事務佇列裡面
3)執行:由exec命令觸發事務
1)單獨的隔離操作:事務中的所有命令都會序列化、按順序地執行。事務在執行的過程中,不會被其他客戶端傳送來的命令請求所打斷。
2)沒有隔離級別的概念:佇列中的命令沒有提交之前都不會實際的被執行,因為事務提交前任何指令都不會被實際執行,也就不存在」事務內的查詢要看到事務裡的更新,在事務外查詢不能看到」這個讓人萬分頭痛的問題
3)不保證原子性:redis同乙個事務中如果有一條命令執行失敗,其後的命令仍然會被執行,沒有回滾
redis事務筆記
總結 redis 事務不同於mysql,oracle 事務,它是乙個操作的集合,事務中無論那一條命令執行報錯,不會影響下面命令的繼續執行,已經執行成功的命令也不會回溯。所以redis 事務是不具備操作的原子性。在執行exec命令執行前,redis 命令會被放到佇列裡面,並不會真正的執行。在事務執行的...
Redis學習筆記 Redis事務
redis事務可以一次執行多個命令 按順序地序列執行,執行中不會被其他命令插入,不許加塞 1.簡介 redis事務可以一次執行多個命令 允許在一次單獨的步驟中執行一組命令 特徵 1 批量操作在傳送exec命令前被放入佇列快取 2 收到exec命令後進入事務執行,事務中任意命令執行失敗,其餘的命令依然...
redis事務學習筆記
redis事務 可以一次執行多個命令,本質是一組命令的集合。乙個事務中的所有命令都會序列化,按順序地序列化執行而不會被其它命令插入,不許加塞。在提交事務提交前,每個命令將以佇列的形式入隊,直到提交事務。redis事務非關係型資料庫事務 有可能會出現部分失敗部分成功 具體看舉例說明。multi 標記乙...