Redis事务(Transactions)

2019-07-31  本文已影响0人  EnchantF

相关命令

用法

multi

开启事务后,后续所有的命令会添加到队列,不会立即执行,一旦调用exec,所有的命令才会被依次执行

事务中可能出现的错误

产生的原因:命令本身出错、参数不正确、内存问题等等
这种错误在客户端常见,一旦出错,客户端通常会取消事务

比如,对某个key的值(类型为String),进行list操作
注意:在redis2.6.5之后,一个命令发生错误,其他命令继续被执行

为什么redis不支持回滚?

乐观锁(CAS——check-and-set)

实现方式:watch

在执行exec之前,如果有至少一个watched key被修改,整个事务取消,返回null表示事务失败

悲观锁setnx

SETNX lock.foo <current Unix time + lock timeout + 1>

处理死锁

官网地址

上一篇 下一篇

猜你喜欢

热点阅读