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