目录

  1. 事务概述
  2. 事务的典型使用场景
  3. 常用命令
  4. 事务的高级用法
  5. 使用注意事项
  6. 参考资料

1. 事务概述

Redis 的 事务(Transaction) 是指将一组 Redis 命令包装起来,作为一个原子操作执行。事务中的命令不会被其他客户端的命令打断,确保事务中的命令按顺序执行,不会出现部分成功、部分失败的情况。

Redis 使用 MULTIEXECDISCARDWATCH 命令来控制事务的执行。


2. 事务的典型使用场景

  • 批量操作:在保证原子性的前提下,执行一系列操作,如批量插入或更新数据。
  • 库存管理:确保对商品库存的修改是原子性的,防止超卖问题。
  • 账户转账:在同一个事务中执行两个账户余额的修改,保证余额的一致性。
  • 数据一致性:在进行多个数据修改时,确保这些修改要么都成功,要么都失败。

3. 常用命令

命令描述
MULTI开始事务
EXEC提交事务并执行所有命令
DISCARD取消事务,不执行任何命令
WATCH key [key ...]监视一个或多个键,确保它们在事务执行期间未被修改

示例: