banner
指数爆炸

指数爆炸

我做了对饭 !
github
bilibili

redis 的事务无法回滚,那事务还有什么用 ?

前言#

今天学习 redis 时,发现 redis 的事务功能无法回滚,也就是在执行事务时,如果中间的某个命令执行出错了,不会回滚到事务之前,而是继续执行下去

What ? What ?,那事务还有毛用,没有原子性,没有一致性


根据我查阅资料,和思考,稍微总结了一下,可能不全面

性能优化#

由于事务是将所有的命令一次性的发送给服务器的,而且是一次性执行,所以性能要更高

虽然但是,我觉得这一点小小的性能优化也没什么用

并发环境下的数据一致#

由于可能有多个客户端同时对一个 redis 实例进行操作,事务可以保证在执行时不会被插队,所以虽然无法保证事务内的命令数据一致,但是可以保证并发环境下的数据一致

简单高效#

我们发现,学习过那么多的 redis 命令,好像没什么命令会报错,就算你输入的 key 出错了,也就是报个 nil所以只有你的 redis 命令语法出错时,才会报错

这么说就没必要支持回滚了,这样使得 redis 更加简单高效

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。