redis事务

      redis事务使用MULTI命令。进入一个事务。这个命令返回的总是OK。先发起一个MULTIPLE命令。再发布操作命令。这些命令会排队。最后使用exec命令执行所有命令。redis将返回一个数组,分别对应命令的返回值,顺序和命令输入的顺序相同。掉用DISCARD将清空事务队列中所有的命令并且退出事务。

  > MULTI
OK
> INCR foo
QUEUED
> INCR bar
QUEUED
> EXEC
1) (integer) 1
2) (integer) 1

 

值得注意的是:redis事务中如果有一个命令执行失败。那么接下来的命令还是会执行
redis事务不支持回滚。
如果你有后台有个相关的数据库。事实上在一个事务中redis命令很可能执行失败。但是redis会一直执行剩下的命令而不是回滚。听起来可能觉得奇怪
除非调用了一个错误的语法,或者key的数据类型不对。redis命令才会失败。(这种错误在加入命令队列的时候是看不出来的),这就意味着在实际操作中。命令执行失败是由于编程错误。这种错误很容易被发现在开发阶段。而在生产上是不会被发现的2 redis内部的简单和快速使得的它不需要回滚能力

你可能感兴趣的:(redis)