Author Archive

《Redis官方文档》事务

原文链接

事务

MULTIEXECDISCARDWATCH 是 Redis 事务的基础。事务允许一次独立的执行一组命令,并且拥有两个重要的保证。

  • Redis事务的执行是单步的独立的操作:所有的在事务中的命令都是序列化和顺序地。它在执行事务中永远不会被另一个客户端打断。
  • Redis的事务是原子性的:所有的命令,要么全部执行,要么全部不执行。
    • EXEC的命令触发执行Redis事务中的所有命令,所以如果这个客户端之前调用了MULTI命令却断开了redis事务中的连接,那么这个事务的将不会被执行。
    • 当我们使用了AOF序列化(append-only-file)时,Redis会确保去使用单独的同步Write(2)写入磁盘中。然而如果Redis服务阻塞或者被系统管理员杀死,那么将可能导致只有部分的操作被执行。Redis在重启的时候将会检测当前状态,并退出这个错误。它可以使用Redis-Check-AOF工具移除部分的事务,去修复这个AOF文件,所以Redis可以再次启动。

Read more

return top