当前位置: 首页 > news >正文

【Redis】事务

Redis事务是一组命令的集合。这组命令顺序化执行而不会被其他命令插入。

Redis事务命令

命令描述
DISCARD取消事务,放弃执行
EXEC执行事务
MULTI标记事务的开始
UNWATCH取消WATCH对所有key的监控
WATCH监控所有key

Redis事务特点

特点说明
单独的隔离操作Redis命令执行是单线程的,在执行完事务内所有指令前无法同时执行其他客户端的请求
没有隔离级别的概念在事务提交前任何指令都不会被实际执行
不保证原子性不保证所有指令同时成功或者失败,无法执行到一半进行回滚
排他性Redis会保证一个事务内命令依次执行,不会被其他命令插入

具体的使用方式:

  • 正常执行
    MULTI
    redis语句...
    EXEC
    
  • 放弃执行
    MULTI
    redis语句
    DISCARD
    
  • 发生语法错误
    假设在MULTI...EXEC中的某一条redis语句发生语法错误,则整个事务都不会执行
  • 发生执行错误
    假设在MULTI...EXEC中的redis语句没有语法错误,但是在执行过程中发现了错误,则除了这条语句,其他语句都正常执行。
  • WATCH监控
    Redis使用Watch来提供乐观锁定,类似于CAS,Redis在修改时会检测数据是否被更改,如果更改了则执行失败。手动取消监控锁使用unwatch,自动取消监控锁有两种方式:
    • 执行exec取消之前加的监控锁
    • 当客户端丢失连接时
http://www.lryc.cn/news/338556.html

相关文章:

  • 每日一题(leetcode238):除自身以外数组的乘积--前缀和
  • 内网通如何去除广告,内网通免广告生成器
  • 视频知识整理
  • 【2024】使用Rancher管理k8s集群和创建k8s集群
  • 生成对抗网络 – Generative Adversarial Networks | GAN
  • 基于深度学习的生活垃圾智能分类系统(微信小程序+YOLOv5+训练数据集+开题报告+中期检查+论文)
  • 软件包名生成参考
  • 八大排序算法(面试被问到)
  • SCP指令详细使用介绍
  • 《前端面试题》- JS基础 - 防抖和节流
  • RAGFlow:基于OCR和文档解析的下一代 RAG 引擎
  • 正则表达式|*+?
  • 前端开发攻略---根据音频节奏实时绘制不断变化的波形图。深入剖析如何通过代码实现音频数据的可视化。
  • 【计算机毕业设计】基于Java+SSM的实战开发项目150套(附源码+演示视频+LW)
  • STM32H7的MPU学习和应用示例
  • 964: 数细胞
  • 流程图步骤条
  • GPT知识库浅析
  • SpringMVC--SpringMVC的视图
  • Datax,hbase与mysql数据相互同步
  • ubuntu spdlog 封装成c++类使用
  • 【C语言】——字符串函数的使用与模拟实现(上)
  • 数据库(1)
  • VirtualBox - 与 Win10 虚拟机 与 宿主机 共享文件
  • 深入浅出 useEffect:React 函数组件中的副作用处理详解
  • 《QT实用小工具·十九》回车跳转到不同的编辑框
  • 基本的数据类型在16位、32位和64位机上所占的字节大小
  • 关注招聘 关注招聘 关注招聘
  • Django框架设计原理
  • Linux ARM平台开发系列讲解(QEMU篇) 1.2 新添加一个Linux kernel设备树