redis可以支持回滚吗?
如果你有关系型数据库的知识背景,你会发现这样一个事实:在事务过程中,虽然Redis命令可能执行失败,但是Redis仍然会执行事务中的其他命令,并且不会进行回滚操作执行后,您可能会发现这种行为很奇怪。
不过,这种行为也有其原因:
只有调用的Redis命令有语法错误失败时才会执行该命令(Redis可以检测到将此命令放入事务队列时会出现此类问题),或者对不符合其数据类型的键执行操作:在实践中,这意味着只有程序错误才会导致Redis命令执行失败,这种错误是在程序开发过程中很可能发现的,在实际应用中一般很少发现。他的生产环境。
Redis对系统内部的功能进行了简化,以保证更快的运行速度,因为Redis不需要回滚事务的能力。
对于Redis事务的这种行为有一个常见的反对意见,那就是程序可能存在缺陷(bug)。但是,您应该注意事务回滚并不能解决任何程序错误。
例如,如果一个查询将某个key的值增加2而不是1,或者增加了错误的key,那么事务回滚机制就没有办法解决这些程序问题。请注意,没有人可以修复程序员自己可能导致 Redis 命令执行失败的错误。由于这些程序错误不太可能进入生产环境,因此我们在开发Redis时选择了更简单、更快的方法,而不需要实现错误回滚。
简而言之,由于没有任何机制可以避免程序员自己造成的错误,而且这种错误通常不会发生。在生产环境中,Redis选择了一种更简单、更快速的无回滚方式来处理事务。
看完这篇文章,相信你对redis是否可以支持回滚有了一定的了解。如果您想了解更多相关知识,请关注行业资讯频道。感谢您的支持。读!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > redis可以支持回滚吗?