redis事务
Redis事务是Redis的一种特性,它可以将多个命令聚合为一个原子操作,从而保证操作的原子性和一致性。
MULTI命令
MULTI命令是Redis事务的开始,它可以接受任意数量的命令作为参数,并将这些命令聚合为一个事务,但不会立即执行这些命令,而是将它们放入一个队列中,等待EXEC命令执行。
redis> MULTI OK redis> SET key1 value1 QUEUED redis> GET key1 QUEUED redis> EXEC 1) OK 2) "value1"
EXEC命令
EXEC命令是Redis事务的结束,它会执行MULTI命令之后的所有命令,并返回一个结果列表,包含每个命令的执行结果。如果在事务执行期间发生任何错误,则整个事务都会失败,返回一个null值。
DISCARD命令
DISCARD命令是Redis事务的取消,它会放弃MULTI命令之后的所有命令,并返回一个OK值,表示事务已成功取消。
WATCH命令
WATCH命令是Redis事务的一种特性,它可以监视某个key,如果该key在事务执行期间被修改,则整个事务都会失败,返回一个null值。
redis> WATCH key1 OK redis> MULTI OK redis> SET key1 value2 QUEUED redis> EXEC (nil)
上面的例子中,WATCH命令监视了key1,在MULTI命令之后该key被修改,所以EXEC命令返回了一个null值,表示事务失败。