Redis事务让一组命令在单个步骤中执行。事务中有两个属性,这说明如下:
- 在一个事务中所有命令按顺序执行作为一个单一独立的操作。这是不可能的,到另一个客户端发出的请求被担任过Redis事务的执行过程中。
- Redis事务也是原子的。原子就意味着要么所有命令都执行,要么都不进行处理。
例子
Redis事务由指令 MULTI 启动,然后需要传递事务,而且整个事务是通过执行命令执行后,执行命令的列表。
redis 127.0.0.1:6379> MULTI OK List of commands here redis 127.0.0.1:6379> EXEC
例子
以下举例说明Redis的事务如何启动并执行。
redis 127.0.0.1:6379> MULTI OK redis 127.0.0.1:6379> SET tutorial redis QUEUED redis 127.0.0.1:6379> GET tutorial QUEUED redis 127.0.0.1:6379> INCR visitors QUEUED redis 127.0.0.1:6379> EXEC 1) OK 2) "redis" 3) (integer) 1
Redis 事务指令
如下表所示,Redis的事务相关的一些基本命令:
S.N. |
命令 & 说明 |
1 |
DISCARD
发出命令MULTI后丢弃所有 |
2 |
EXEC
MULTI后执行发出所有命令 |
3 |
MULTI
标记事务块的开始 |
4 |
UNWATCH
取消所有的对应关注键 |
5 |
WATCH key [key ...]
关注给定项,以确定执行MULTI/EXEC块 |