redis 事务处理
Redis 事务是一种命令分组,这些命令要么全部执行,要么全部不执行。它确保原子性、一致性、隔离性和持久性(ACID)属性,即使在并发情况下也是如此。
事务的运作方式:
-
启动事务:使用
MULTI命令启动事务。 - 记录命令:在事务中执行任意数量的 Redis 命令。
-
提交或回滚事务:使用
EXEC命令提交事务或DISCARD命令回滚事务。
提交与回滚:
-
提交:如果事务中没有错误,则通过
EXEC命令提交事务,所有命令将原子地应用到数据库中。 -
回滚:如果事务中出现
任何错误,则通过 DISCARD命令回滚事务,所有命令都将被丢弃,数据库状态保持不变。
隔离性:
Redis 事务提供了隔离性,这意味着同时执行的事务不会相互干扰。当一个事务正在执行时,数据库中对该事务正在访问的数据的修改都将被屏蔽,直到事务提交或回滚。
持久性:
Redis 事务不提供持久性。这意味着如果在事务提交后 Redis 服务器发生故障,则该事务的修改将丢失。要确保持久性,可以使用 Redis 持久化功能(例如 RDB 或 AOF)。
注意事项:
- 事务中的命令不得修改被其他事务锁定的键。
- 事务不能跨越多个 Redis 实例。
- 事务不能嵌套。
- 事务可能会因 Redis 服务器超时而被自动终止。

任何错误,则通过 






