redis中有10多亿个键 现在我想在python中获得 ALL 键。
partkeys = redisclient.keys("abcd*")
没问题。
但是
keys = redisclient.keys("ab*")
将引发ResponseError。
redis.exceptions.ResponseError:keys err
和
keys = redisclient.keys("*")
会引发ConnectionError redis.exceptions.ConnectionError:错误111连接demo.abcd.com:6397。拒绝连接。
任何帮助?
答案 0 :(得分:4)
然后使用SCAN命令循环键集。使用KEYS总是一个坏主意。请注意,SCAN仅在Redis 2.8.0之后可用。
答案 1 :(得分:1)
我想您使用 py-redis ,使用scan_iter
,然后:
for k in redisclient.scan_iter(match='*'):
# Do something with k
# ...
正如其他人所说, SCAN 仅在Redis 2.8.0
之后才可用