理論知識:
redis 是一個高性能的key-value數據庫。 redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部 分場合可以對關系數據庫起到很好的補充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便。
原子性(atomicity):一個事務是一個不可分割的最小工作單位,要么都成功要么都失敗。
原子操作是指你的一個業務邏輯必須是不可拆分的。
比如你給別人轉錢,你的賬號扣錢,別人的賬號增加錢,這個業務邏輯就是原子性的,這個操作就是原子操作,要么都成功要么都失敗。
Redis所有單個命令的執行都是原子性的。
redis 實現事務的原理
1. 批量操作在發送 EXEC 命令前被放入隊列緩存
2. 收到 EXEC 命令后進入事務執行,事務中任意命令執行失敗,其余的命令都不會被執行
3. 在事務執行過程,其他客戶端提交的命令請求不會插入到事務執行命令序列中
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END