Redis - 事物

redis事物控制


关于事物

    事物(数据库事物)是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行

redis事物与mysql事物的不同
    1.与mysql等数据库不同,redis事物不提供回滚操作。
    2.对于ACID特性:它不满足原子性(会部分不执行)、持久性(因为redis是在内存中、即使开启AOF,也存在命令执行一部分后,系统宕机而导致数据丢失的情况,不能恢复)、一致性(状态转移一半宕机了)。因为redis是单线程的,事务也是串行执行,所以满足隔离性。                

使用

    redis事务是基于先进先出队列实现的,multi之后的命令放入队列中,exec后队列中的命令一次执行。
                multi    事务开始 
                exec     事物结束 
                discard    放弃事物 
                1:语法错误:致命的错误,事务中的所有命令都不会执行,即插入到队列时出错,队列所有的命令就都不执行了。
                2:运行错误:不会影响事务中其他命令的执行,即插入队列都成功,但从队列出来运行时出错,其他命令还会执行。

watch在事物中的使用

        watch命令可以multi - exec之间监控一个或多个键,在事物中一旦其中有一个键被修改(或删除),之后的事物命令就不会执行,监控一直持续到EXEC命令。
         事务中的命令是在EXEC之后才执行的,EXEC命令执行完之后被监控的键会自动被UNWATCH。在事物中使用watch可以很好的监控某些数据。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值