redis.keys(...)的替代方案

Dav*_*542 3 python redis

在文档中,它强烈反对.keys()在生产环境中使用它.什么可以替代以下:

r = Redis()
keys = r.keys('RT*')
for key in keys:
    do_something()
Run Code Online (Sandbox Code Playgroud)

del*_*eil 13

SCAN 是生产使用的推荐替代品.

redis-py包含一个方便的SCAN迭代器,所以你可以做的是:

r = Redis()
for key in r.scan_iter(match='RT*'):
  print(key) # or do something
Run Code Online (Sandbox Code Playgroud)

  • 作为参数传递给 scan_iter() 的 match 是可选的。当传递一个有效值时,它允许按指定的模式过滤键。 (2认同)