原子性atomicity
首先通過上文知道 運行期的錯誤是不會回滾的,很多文章由此說Redis事務違背原子性的;而官方文檔認為是遵從原子性的。
Redis官方文檔給的理解是,Redis的事務是原子性的:所有的命令,要么全部執(zhí)行,要么全部不執(zhí)行。而不是完全成功。
一致性consistency redis
事務可以保證命令失敗的情況下得以回滾,數(shù)據(jù)能恢復到?jīng)]有執(zhí)行之前的樣子,是保證一致性的,除非redis進程意外終結(jié)。
隔離性Isolation redis
事務是嚴格遵守隔離性的,原因是redis是單進程單線程模式(v6.0之前),可以保證命令執(zhí)行過程中不會被其他客戶端命令打斷。 但是,Redis不像其它結(jié)構(gòu)化數(shù)據(jù)庫有隔離級別這種設(shè)計。
持久性Durability redis
事務是不保證持久性的,這是因為redis持久化策略中不管是RDB還是AOF都是異步執(zhí)行的,不保證持久性是出于對性能的考慮