Loading

redis:事务

一.介绍

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

二.基本操作

开启事务:

1
multi

执行事务 

1
exec

取消事务 

1
discard

三.事务的注意事项

1)如果定义的事务中所包含的命令存在语法错误,整体事务中所有命令均不会执行。包括那些语法正确的命令。

2)定义事务的过程中,命令执行出现错误。能够正确运行的命令会执行,运行错误的命令不会被执行 

四.锁

对 key 添加监视锁,在执行exec前如果key发生了变化,终止事务执行 

1
watch key1 [key2……]

取消对所有 key 的监视 

1
unwatch

五.分布式锁

使用 setnx 设置一个公共锁 

1
setnx lock-key value

利用setnx命令的返回值特征,有值则返回设置失败,无值则返回设置成功

  对于返回设置成功的,拥有控制权,进行下一步的具体业务操作

  对于返回设置失败的,不具有控制权,排队或等待

分布式锁改良

使用 expire 为锁key添加时间限定,到时不释放,放弃锁

1
2
expire lock-key second
pexpire lock-key milliseconds
posted @   秋风飒飒吹  阅读(114)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示