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