Redis 事务回滚

7

我是redis的新手。我的应用程序中有多个redis命令用于执行事务。如果其中一个失败了,Redis是否像关系型数据库一样回滚事务?还是由用户负责回滚事务?


可能会有用:https://dev59.com/75rga4cB1Zd3GeqPtufg#76807035 - Damaged Organic
2个回答

8
Redis不像关系型数据库那样回滚事务。如果你有关系型数据库的背景,那么Redis命令在事务中失败,但Redis仍会执行余下的事务而不是回滚,可能看起来很奇怪。然而,这种行为是有好处的:
- Redis命令只有在使用错误的语法(并且问题在命令排队期间无法检测)或针对持有错误数据类型的键时才会失败:这意味着在实际情况下,失败的命令是编程错误的结果,并且这种类型的错误非常容易在开发过程中被检测到,而不是在生产环境中。 - Redis在内部简化并加快了速度,因为它不需要回滚的能力。
请查看文档中的Why redis does not support rollback transactions以及这里

1

在这里查看文档。Redis不支持回滚操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接