Redis和SQL事务的区别

文章目录


一、redis事务是什么?

Redis 可以通过 MULTI,EXEC,DISCARD WATCH 等命令来实现事务(transaction)功能。

  1. 使用 MULTI 命令后可以输入多个命令。Redis 不会立即执行这些命令,而是将它们放到队列(FIFO)。
  2. 过程:开始事务(MULTI): 命令入队(批量操作 Redis 的命令,先进先出(FIFO)的顺序执行)。 2.执行事务(EXEC): 通过 DISCARD 命令可以取消一个事务,它会清空事务队列中保存的所有命令。3. WATCH 命令用于监听指定的键,当调用 EXEC 命令执行事务时,如果一个被 WATCH 命令监视的键被修改的话,整个事务都不会执行,直接返回失败。

二、sql事务是什么?

事务 (Transaction) 事务是一个由一系列操作组成的逻辑单位,这些操作要么全部成功,要么全部失败。

事务具有以下四个特性: 原子性 (Atomicity):事务中的所有操作要么全部完成,要么全部不做。 一致性 (Consistency):事务开始前和结束后,数据库的一致性必须保持。 隔离性 (Isolation):多个事务并发执行时,互不干扰。 持久性 (Durability):一旦事务提交,其结果是永久性的,即使系统崩溃也不会丢失。 在 MySQL 中,可以使用 START TRANSACTION、COMMIT ROLLBACK 来控制事务。

三、二者区别

Redis 是不支持 回滚(roll back) 的,所以不满足sql事务中的原子性的(而且不满足持久性)。Redis 中的事务可以理解成 :Redis 事务提供了一种将多个命令请求打包的功能,然后,再按顺序执行打包的所有命令,并且不会被中途打断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值