5

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

4

2 回答 2

7

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

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

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

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

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

Why redis does not support rollback transactions从文档和此处查看。

于 2013-04-24T07:20:59.620 回答
1

文档在这里。Redis 不支持回滚。

于 2013-04-24T07:20:01.683 回答