Redis管道与管理



我正在考虑使用MGET或管道,但似乎找不到我正在寻找的的MGET信息

我的用例是用MGETpipeline替换50个GET调用

到目前为止,我发现:

当我们使用pipeline时,命令不能保证一个接一个地执行,其他客户端命令可以在两者之间执行。这意味着,当我们用pipelineGET命令进行分组时,redis不会被O(50(阻止,其他客户端将有机会执行他们的命令(50是我正在分组的GET调用的数量(

另一方面,对于命令MGET,我无法找到它如何工作的信息——当我们用50个密钥调用MGET时,该命令会阻止redis实例直到它获得所有密钥吗?MGET是如何工作的?

因为Redis是单线程的,所以任何一个命令都会被阻塞,直到它完成。包括CCD_ 11。

管道只是批处理命令的一种方式,它们不会阻塞其他客户端。

因此:MGET将阻塞,而管道不会。

最新更新