Redis 事务与锁 --- 猿来如此容易

Redis 事务

redis事务就是一个命令执行的队列,将一系列预定义的命令包装成一个整体。当执行时,一次性按照添加顺序依次执行,中间不会被打断或者干扰。

事务的基本操作

  • 开启事务 multi 设定事务的开启位置,此指令执行后,后续的所有指令均加入到事务中
  • 执行事务 exec 设定事务的结束位置,同时执行事务。与multi成对出现,成对使用
  • 取消事务 discard 终止当前事务的定义
  • 注意 加入事务的命令暂时加入到任务队列中,并没有立即执行,只有执行exec命令才开始执行

事务的注意事项

image-20201028162804369

image-20201028163524124

  • watch 监控一个或多个键,一旦其中有一个键被修改(或删除),之后的事务就不会执行。监控一直持续到EXEC命令(事务中的命令是在EXEC之后才执行的,所以在MULTI命令后可以修改WATCH监控的键值)

  • unwatch 取消对所有key的监视

  • setnx lock-key value 设置一个公共锁,设置时有值就返回失败,无值返回设置成功

    • 对于设置成功的,拥有控制权,进行下一步具体业务操作
    • 对于返回失败的,不具有控制权,排队或者等待
  • 使用expire为锁添加时间限定,到时不释放,放弃锁

    • expire lock-key second
    • pexpire lock-key milliseconds

    image-20201028170129253

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杂货店的阿猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值