redis之坑:redis與mysql中事務的區別
note:該篇討論的只是redis與mysql中事務的區別,並不能統一代表no-sql與關係型sql;mysql:redis:redis之坑:理解redis事務 中我們通過模擬mysql的在 mysql 中只有使用了
innodb
資料庫引擎的資料庫或表才支援事務;事務使用的目的是統一管理 insert,update,delete, 這些
write操作
,以此來維護資料完整性。所以下文討論的所有sql語句都是write操作
;
begain
,commit
,rollback
來理解redis的事務命令。但是顯然,它們有著本質區別。
mysql:
redis:
mysql:包含兩種
用 begin, rollback, commit,顯式開啟並控制乙個新的transaction。
執行命令set autocommit=0,用來禁止當前會話自動commit,控制預設開啟的事務。
redis:
用 multi, exec, discard,顯式開啟並控制乙個transaction(注意:這裡沒有強調「新的」,因為預設是不會開啟事務的)。
很容易理解,redis與mysql中事務的區別其根本原因就是實現不同方式造成的。mysql:在mysql中無論是否開啟事務,每乙個sql都會被立即執行並返回執行結果。但是事務開啟後所以,上述**,insertselective 將會被立即賦值(無論是否開啟事務):
insertselective =受影響的行數;
redis: redis學習之入門(入坑)
由於最近需要用到redis,所以在學習之餘寫寫部落格,養成乙個好的習慣,希望對大家有所幫助。期間如果遇到坑,我會在本欄目中寫出來,便於大家參考。一 安裝 然後解壓 開啟cmd視窗 在cmd中進入到redis解壓的目錄 輸入命令 redis server.exe redis.windows.conf ...
redis事務的坑
最先參考文章 後來發現 redis事務不能使用 transactional標記,刪除方法無法工作,刪不掉。set操作,儲存能生效。嚴重影響了資料一致性。解決方案 redistemplatetrans.multi long removenumber removeset redisgroupkey,re...
Redis 快取的坑
這幾天一直在做redis 快取,中間遇到很多錯誤,把網上的部落格都看一大半了,甚至開始懷疑是springboot 框架有問題出毛病了 對,就是他的錯,誰讓他報我的錯?他先動得手 後來發現是自己太蠢了,寫下來記錄記錄這個差點讓我放棄人生的蠢動作。redis快取的序列化器 網上看了很多的關於序列化的部落...