数据库-Redis(12)

目录

56.Redis事务中watch是如何监视实现的?

57.为什么Redis不支持回滚?

58.Redis对ACID的支持性理解?

59.Redis事务其他实现?

60.Redis集群的主从复制模型是怎么样的?


56.Redis事务中watch是如何监视实现的?

Redis使用watch命令来决定事务是继续执行还是回滚,那就需要在multi之前使用watch来监视某些键值对,然后使用multi命令来开启事务,执行对数据结构操作的各种命令,此时这些命令入队列。

当使用exec执行事务时,首先会比对watch所监控的键值对,如果没发生改变,它会执行事务                                                        队列中的命令,提交事务;如果发生变化,将不会执行事务中的任何命令,同时事务回滚。当然无论如何是否回滚,Redis都会取消执行事务前的watch命令。

57.为什么Redis不支持回滚?

以下是这种做法的优点:

Redis命令只会因为错误的语法而失败(并且这些问题不能在入队列时发现),或是命令用在了错误类型的键上面:

这就是说,从实用性的角度来说,失败的命令是由编程错误造成的,而这些错误应该在开发的过程中被发现,而不应该出现在生产环境中。

因为不需要对回滚进行支持,所以Redis的内部可以保持简单且快速。

有种观点认为Redis处理事

  • 22
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值