理論知識:
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. 在交易執行過程,其他用戶端提交的指令要求不會插入到交易執行指令序列中
以上是redis是否支援原子操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!