首先,我的理解是:redis是一个单进程程序,所有命令都按照先进先出的顺序执行。如果是这样,我们就不需要watch命令,但事实并非如此。
我想了解更多有关redis命令执行顺序的信息。预先感谢
答案 0 :(得分:0)
您是正确的,Redis服务器将按照独立于客户端的顺序执行命令。
也就是说,很有趣的是,您拥有诸如交易和流水线之类的功能,这些功能不会直接影响执行顺序(并非完全针对交易,如下所示)
在事务中,“事务中的所有命令都被序列化并顺序执行”。所有命令均作为单个隔离操作执行。 因此,当您在事务中运行命令时,不可能在事务结束之前执行来自另一个客户端的命令。
如上所述,该操作将使用不变的流水线按顺序(FIFO)执行,但不同之处在于客户端能够发送多个命令而无需等待响应。
我让您调查所有细节,并在需要时在应用程序中对其进行测试。