展开
折叠
重点回顾
- 事务提供了一种将多个命令打包, 然后一次性、有序地执行的机制。
- 多个命令会被入队到事务队列中, 然后按先进先出(FIFO)的顺序执行。
- 事务在执行过程中不会被中断, 当事务队列中的所有命令都被执行完毕之后, 事务才会结束。
- 带有 WATCH 命令的事务会将客户端和被监视的键在数据库的
watched_keys
字典中进行关联, 当键被修改时, 程序会将所有监视被修改键的客户端的 REDIS_DIRTY_CAS
标志打开。
- 只有在客户端的
REDIS_DIRTY_CAS
标志未被打开时, 服务器才会执行客户端提交的事务, 否则的话, 服务器将拒绝执行客户端提交的事务。
- Redis 的事务总是保证 ACID 中的原子性、一致性和隔离性, 当服务器运行在 AOF 持久化模式下, 并且
appendfsync
选项的值为always
时, 事务也具有耐久性