redis事务笔记
总结:
redis 事务不同于mysql,Oracle 事务,它是一个操作的集合,事务中无论那一条命令执行报错,不会影响下面命令的继续执行,已经执行成功的命令也不会回溯。所以redis 事务是不具备操作的原子性。在执行exec命令执行前,redis 命令会被放到队列里面,并不会真正的执行。在事务执行的过程中,其他客户端提交的命令并不会加入到这个事务中。下面看一个实例:
1.开启一个事务
multi命令是开启一个事务
2.操作命令入队列
3.执行exec
Redis事务有关的命令:
discard:放弃当前事务
exec:执行事务
multi:开启一个事务
unwatch:取消watch命令对所有key 的监控
watch key [key...] 监控一个或者多个key 在事务执行之前这个key被其他命令所改动,那么事务将被打断。