【发布时间】:2019-11-15 08:46:25
【问题描述】:
首先我的理解是:redis是一个单进程的程序,所有的命令都是按照先进先出的顺序执行的。如果是这种情况,我们就不需要 watch 命令了,但事实并非如此。
想了解更多关于redis命令的执行顺序。提前致谢
【问题讨论】:
首先我的理解是:redis是一个单进程的程序,所有的命令都是按照先进先出的顺序执行的。如果是这种情况,我们就不需要 watch 命令了,但事实并非如此。
想了解更多关于redis命令的执行顺序。提前致谢
【问题讨论】:
你是对的,Redis服务器会执行,命令按照它们接收的顺序独立于客户端。
也就是说,有趣的是,您有一些功能,例如事务和管道,它们对执行顺序没有直接影响(不完全是事务,如下所示)
在事务中,“事务中的所有命令都被序列化并按顺序执行”。所有命令都作为单个隔离操作执行。 因此,当您在事务中运行命令时,不可能在事务结束之前执行来自另一个客户端的命令。
如上所述,操作将按顺序(FIFO)执行,使用不会改变的流水线,但不同的是客户端能够发送多个命令而无需等待响应。
我让您查看所有这些的详细信息,并在需要时在您的应用程序中对其进行测试。
【讨论】: