我是redis的新手。我有一个应用程序,其中有多个redis命令进行事务。如果其中一个失败,redis会像关系数据库那样回滚事务吗?用户是否有责任回滚事务?
答案 0 :(得分:5)
Redis不会像关系数据库那样回滚事务。
如果您有关系数据库背景,Redis命令在事务期间可能会失败,但仍然Redis将执行事务的其余部分而不是回滚,这可能看起来很奇怪。
但是对于这种行为有很好的意见:
Redis命令只有在使用错误的语法调用时才会失败(并且在命令排队期间无法检测到问题),或者对于持有错误数据类型的密钥,可能会失败:这意味着实际上失败的命令是编程错误的结果,以及在开发过程中很可能检测到的一种错误,而不是在生产中。
Redis内部简化且速度更快,因为它不需要回滚的功能。
从文档和Why redis does not support rollback transactions
中查看 here 。
答案 1 :(得分:1)
Documentaion在这里。 Redis不支持回滚。