0%

Redis事务

Redis事务会将多个命令请求打包,一次性的按照顺序执行多个命令,在事务执行期间,服务器不会中断事务去执行其他客户端的请求命令,会一直执行完。涉及到的命令:MULTI、EXEC、WATCH。

  • MULTI命令的执行标志着事务的开始
  • 事务开始后的普通命令会被放入一个事务队列,返回给客户端QUEUED回复
  • EXEC命令的执行表示提交事务,会遍历事务队列执行所有的命令,然后将所有的结果返回给客户端

WATCH命令是一个乐观缩,在EXEC命令执行前监视任意数量的数据库键,在EXEC执行时会检查键是否被修改,如果被修改了服务器拒绝执行事务,向客户端返回空回复表示事务执行失败。

参考

  • 《redis设计与实现》(第二版)
坚持原创技术分享,您的支持将鼓励我继续创作!
Fork me on GitHub