redis事务
简介:
redis事务可以一次执行多个命令。事务是一个单独的隔离操作,事务中的所有命令都会序列化、按顺序的执行,事务在执行过程中,不会被其他客户端发送来的请求打断;事务是一个原子操作,事务中的命令要么全部被执行,要么全部都不执行,事务的执行过程:开始事务--->命令入队--->执行事务
相关命令:
#监视一或多个key,如果在事务执行之前,被监视的key被其他命令改动,则事务被打断 ( 类似乐观锁 )
watch key1 key2 ...
multi # 标记一个事务块的开始( queued )
exec # 执行所有事务块的命令 ( 一旦执行exec后,之前加的监控锁都会被取消掉 )
discard # 取消事务,放弃事务块中的所有命令
unwatch # 取消watch对所有key的监控
使用案例:
# 1、开启事务 multi # 2、命令入队 set a "hello" set b "word" # 3、执行事务 exec ==================== # 1、开启事务 multi # 2、命令入队 set a "hello" set b "word" # 3、取消事务 discard