在 Redis 上分页“KEYS”命令

Man*_*odi 2 python redis

我需要redis 中匹配给定模式的所有键: *_xyz_*,然后我通过以下python代码获取它们的所有值:-

  def get_keys(self,pattern):
    self.r_prod.keys(pattern);
    keys = self.r_prod.execute();

    for i in keys[0]:
      self.r_prod.get(i);
    return self.r_prod.execute();
Run Code Online (Sandbox Code Playgroud)

现在keys将所有内容都保存在内存中是相当大的。所以,我想知道有没有办法分页键调用一定的限制?

ale*_*n13 5

使用扫描命令:

>>> import redis
>>> r = redis.Redis()
>>> for x in r.scan_iter('dummy*'):
...   print(x)
... 
b'dummy3'
b'dummy2'
b'dummy1'
Run Code Online (Sandbox Code Playgroud)