為什麼Redis事務不支援回滾

2021-10-08 16:47:56 字數 282 閱讀 8390

redis命令在事務中可能會執行失敗,但是redis事務不會回滾,而是繼續會執行餘下的命令。如果您有乙個關係型資料庫的知識,這對您來說可能會感到奇怪,因為關係型資料在這種情況下都是會回滾的。

redis這樣做,主要是因為:

只有當發生語法錯誤(這個問題在命令佇列時無法檢測到)了,redis命令才會執行失敗, 或對keys賦予了乙個型別錯誤的資料:這意味著這些都是程式性錯誤,這類錯誤在開發的過程中就能夠發現並解決掉,幾乎不會出現在生產環境。

由於不需要回滾,這使得redis內部更加簡單,而且執行速度更快。

為什麼 Redis 不支援回滾 roll back

以下是這種做法的優點 redis 命令只會因為錯誤的語法而失敗 並且這些問題不能在入隊時發現 或是命令用在了錯誤型別的鍵上面 這也就是說,從實用性的角度來說,失敗的命令是由程式設計錯誤造成的,而這些錯誤應該在開發的過程中被發現,而不應該出現在生產環境中。因為不需要對回滾進行支援,所以 redis 的...

alwaysOn為什麼不支援分布式事務

alwayson是微軟從sql2012開始引入的一種高可用和高效能架構,它既可以實現故障轉移,同時又能實現查詢分離,是當前sql server的所有架構中最優秀的一種。因此,一般我們都會推薦使用alwayson來部署生產資料庫,不過,儘管alwayson的優勢非常明顯,但並非適應於所有的業務場景。分...

為什麼模板不支援分離編譯?

在c 中,為了乙個專案的規範化我們通常把 歸類為三類 宣告檔案 實現檔案 測試檔案。比如,我們要實現乙個順序表,那麼規範化就是建立3個檔案 seqlist.h 順序表相關宣告 seqlist.cpp 順序表相關實現 test.cpp 順序表測試檔案 那麼普通順序表這樣寫一點問題都沒有,用模板實現成這...