Redis 是一個(gè)高性能的key-value數(shù)據(jù)庫(kù)。 redis的出現(xiàn),很大程度補(bǔ)償了memcached這類(lèi)key/value存儲(chǔ)的不足,在部 分場(chǎng)合可以對(duì)關(guān)系數(shù)據(jù)庫(kù)起到很好的補(bǔ)充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶(hù)端,使用很方便。
原子性(atomicity):一個(gè)事務(wù)是一個(gè)不可分割的最小工作單位,要么都成功要么都失敗。
原子操作是指你的一個(gè)業(yè)務(wù)邏輯必須是不可拆分的。
比如你給別人轉(zhuǎn)錢(qián),你的賬號(hào)扣錢(qián),別人的賬號(hào)增加錢(qián),這個(gè)業(yè)務(wù)邏輯就是原子性的,這個(gè)操作就是原子操作,要么都成功要么都失敗。
Redis所有單個(gè)命令的執(zhí)行都是原子性的。
redis 實(shí)現(xiàn)事務(wù)的原理
1. 批量操作在發(fā)送 EXEC 命令前被放入隊(duì)列緩存
2. 收到 EXEC 命令后進(jìn)入事務(wù)執(zhí)行,事務(wù)中任意命令執(zhí)行失敗,其余的命令都不會(huì)被執(zhí)行
3. 在事務(wù)執(zhí)行過(guò)程,其他客戶(hù)端提交的命令請(qǐng)求不會(huì)插入到事務(wù)執(zhí)行命令序列中
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com