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

被折叠的 条评论
为什么被折叠?



