Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
phpredis中multi()调用中的每个调用是否会导致到redis的新网络往返?_Redis - Fatal编程技术网

phpredis中multi()调用中的每个调用是否会导致到redis的新网络往返?

phpredis中multi()调用中的每个调用是否会导致到redis的新网络往返?,redis,Redis,在phpredis(php中redis的c客户端)中,有一个“管道”调用和一个“多”调用。从文档中,“pipeline”调用明确指出,管道中的所有查询都将排队,并一次发送到redis。但是,文档中不清楚phpredis中multi()调用中的所有查询是否也排队并一次性发送到redis,或者multi()中的每个调用是否会导致通过网络到redis服务器的单独往返 因此,问题是,phpredis中multi()调用(与管道调用相反)中的每个调用是否会导致到redis的新网络往返?phpredis函数

在phpredis(php中redis的c客户端)中,有一个“管道”调用和一个“多”调用。从文档中,“pipeline”调用明确指出,管道中的所有查询都将排队,并一次发送到redis。但是,文档中不清楚phpredis中multi()调用中的所有查询是否也排队并一次性发送到redis,或者multi()中的每个调用是否会导致通过网络到redis服务器的单独往返


因此,问题是,phpredis中multi()调用(与管道调用相反)中的每个调用是否会导致到redis的新网络往返?

phpredis函数“multi()”只使用一个网络往返。您可以通过使用Redis::MULTI表示原子事务,使用Redis::PIPELINE表示非原子事务(复合?),来指定是否希望整个事务是原子事务。如果不指定,则默认为Reis::MULTI。这些都在文档中。

不幸的是,目前没有办法在multi/exec块中管道化调用,因此它要么是管道化的,要么是原子化的

multi()
exec()
之间的每个调用都是单独发送的