1. Redis事务?
Redis事务可以一次执行多个命令,并且带有以下三个重要的保证:
<1>批量操作在发送EXEC命令前被放入队列缓存。
<2>收到EXEC命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。
<3>在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。
一个事务从开始到执行会经历以下三个阶段: 开始事务、命令入队、执行事务。
2. 实例
- 下面是一个事务的例子,它先以MULTI开始一个事务,然后将多个命令入队到事务中,最后由EXEC命令触发事务,一并执行事务中的所有命令:
3. 常见的事务操作指令
命令 | 解释 |
---|---|
DISCARD | 取消事务,放弃执行事务块内的所有命令。 |
EXEC | 执行所有事务块内的命令。 |
MULTI | 标记一个事务块的开始。 |
UNWATCH | 取消WATCH命令对所有key的监视。 |
WATCH key1 [key2...] | 监视一个(或多个)key,如果在事务执行之前这个(或这些)key被其他命令所改动,那么事务将被打断。 |