redis事务

1.Redis事务的概念

Redis事务的本质是通过MULTI、EXEC、WATCH等一组命令的集合,将一个队列中的一系列的命令一次性、顺序性、排他性的执行。

2.Redis事务的执行步骤

(1) 事务开始:multi 命令用于开启事务。
在这里插入图片描述
(2)命令入队:将待需执行的命令依次添加到队列中。
在这里插入图片描述
(3)事务执行:exec 命令用于执行队列中的事务。
在这里插入图片描述

3.Redis事务相关命令

(1)MULTI: 标记一个事务块的开始。
(2)EXEC: 执行所有事务块内的命令。
(3)WATCH key [key …]: 监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。
(4)UNWATCH: 取消 WATCH 命令对所有 key 的监视。
(5)DISCARD: 取消事务,放弃执行事务块内的所有命令。

4.事务管理(ACID)概述

Redis的事务总是具有ACID中的一致性和隔离性,其他特性是不支持的。当服务器运行在AOF持久化模式下,并且appendfsync选项的值为always时,事务也具有持久性。

  • 原子性(Atomicity):指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
  • 一致性(Consistency):事务前后数据的完整性必须保持一致。
  • 隔离性(Isolation):多个事务并发执行时,一个事务的执行不应影响其他事务的执行持久性。
  • 持久性(Durability):指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响。
    (1)Redis 是单线程运行,在同一时刻只能有一个客户端操作数据,不可能出现多个客户端同时修改某一key而导致的数据不一致的问题。因此,Redis 的事务是总是带有一致性、隔离性的。
    (2)Redis中,单条命令是原子性执行的,但事务不保证原子性,且没有回滚。事务中任意命令执行失败,其余的命令仍会被执行。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值