Redis事务回滚

时间:2013-04-24 07:12:19

标签: redis hiredis

我是redis的新手。我有一个应用程序,其中有多个redis命令进行事务。如果其中一个失败,redis会像关系数据库那样回滚事务吗?用户是否有责任回滚事务?

2 个答案:

答案 0 :(得分:5)

Redis不会像关系数据库那样回滚事务。

如果您有关系数据库背景,Redis命令在事务期间可能会失败,但仍然Redis将执行事务的其余部分而不是回滚,这可能看起来很奇怪。

但是对于这种行为有很好的意见:

  • Redis命令只有在使用错误的语法调用时才会失败(并且在命令排队期间无法检测到问题),或者对于持有错误数据类型的密钥,可能会失败:这意味着实际上失败的命令是编程错误的结果,以及在开发过程中很可能检测到的一种错误,而不是在生产中。

  • Redis内部简化且速度更快,因为它不需要回滚的功能。

从文档和Why redis does not support rollback transactions中查看 here

答案 1 :(得分:1)

Documentaion在这里。 Redis不支持回滚。