Redis 事务

Redis 事务允许用户在一个步骤中执行一组命令。事务的主要特点是保证所有命令都会被序列化顺序执行,在执行过程中,不会被其他客户端发送的命令请求所打断。

Redis 事务的重要特性

  1. 原子性(Atomicity)

    1. Redis 的事务不保证原子性

    2. 如果一个命令执行失败,其他命令仍然会继续执行

    3. 不支持回滚机制

  2. 隔离性(Isolation)

    1. 事务执行时会将所有命令序列化,顺序执行

    2. 事务执行过程中,不会被其他命令打断

  3. 持久性(Durability)

    1. 取决于 Redis 本身的持久化配置

事务的局限性

  • 不支持回滚操作

  • 不保证原子性

  • 事务中的命令不会立即执行,而是在 EXEC 时才执行

主要命令

  • MULTI: 开启事务

  • EXEC: 执行事务

  • DISCARD: 取消事务

  • WATCH: 监视键值变化,如果在 WATCH 之后,EXEC 之前,key 的值被其他客户端修改,那么整个事务会失败。

  • UNWATCH:取消 WATCH 命令对所有 key 的监视。

MULTI
SET user:1:name "张三"
SET user:1:age "25"
EXEC

MULTI
SET user:1:name "张三"
SET user:1:age "25"
EXEC

最后更新于

这有帮助吗?