具有扫描和获取功能的Redis管道

具有扫描和获取功能的Redis管道,redis,pipeline,Redis,Pipeline,我有一个这样的结构: while { keys, cursor, err = redis.scan(cursor, "bla:*", 100) for keys { res = redis.get(keys[i]) .... } .... } 是否可以将扫描和获取命令放入管道中?如果是,我怎么做?我的性能有一些问题。不,您不能将扫描放入管道。因为第二次扫描取决于第一次扫描的结果,在发送第二次扫描命令之前,您必须获得第一次

我有一个这样的结构:

while {
   keys, cursor, err = redis.scan(cursor, "bla:*", 100)
   for keys {
       res = redis.get(keys[i])
       ....
   } 
   ....
}

是否可以将扫描和获取命令放入管道中?如果是,我怎么做?我的性能有一些问题。

不,您不能将扫描放入管道。因为第二次扫描取决于第一次扫描的结果,在发送第二次扫描命令之前,您必须获得第一次扫描的回复

为了提高性能,您有两种选择:

将这些GET命令放入管道 使用MGET命令获取多个密钥。
是的,我使用管道进行GET,但扫描会导致性能问题。