Redis 事务与锁
基本操作
事务的基本操作
# 开启事务,设定事务的开启位置,此指令执行后,后续的所有指令均加入到事务中
multi
# 取消事务,终止当前事务的定义,发生在 multi 之后,exec 之前
discard
# 执行事务,设定事务的结束位置,同时执行事务。与 multi 成对出现,成对使用
exec
加入事务的命令暂时进入到任务队列中,并没有立即执行,只有执行 exec 命令才开始执行。
若加入事务的命令有语法错误,那么队列中所有的命令都不会执行。
若加入事务的命令格式正确,但无法正确的执行。那么能够正确运行的命令会执行,运行错误的命令不会被执行。
已经执行完毕的命令对应的数据不会自动回滚,需要程序员自己在代码中实现回滚。
事务工作流程
使用队列实现
锁
# 对 key 添加监视锁(必须在事务之前),在执行 exec 前如果 key 发生了变化,终止事务执行
watch key1 key2
# 取消对所有 key 的监视,执行 exec 后会自动取消
unwatch
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2019-03-15 Java Enum