redis事务
Pipelining(管道):客户端行为,服务器不感知,目的是提高效率,不具备原子性。能够让Redis在一次交互中处理多条命令。
MULTI和EXEC(redis事务):服务端支持的功能,具有原子性。一个事务中的一组命令是绝对连续执行的,在这些命令执行完成之前,绝对不会有来自于其他连接的其他命令插进去执行。Redis在接收到MULTI命令后便会开启一个事务,这之后的所有读写命令都会保存在队列中但并不执行,直到接收到EXEC命令后,Redis会把队列中的所有命令连续顺序执行,并以数组形式返回每个命令的返回结果。可以使用DISCARD命令放弃当前的事务,将保存的命令队列清空。注意:Redis事务不支持回滚。