扫描 Redis Keyspace
Redis 提供 SCAN 命令来迭代匹配特定模式的数据库中的键。Redis 在 SCAN 命令中支持 glob 样式模式匹配。
SCAN 命令在 Redis 键空间上提供基于游标的迭代器。SCAN 的迭代调用序列开始于用户在将 cursor 参数设置为 0 的情况下进行调用。该调用的结果是一批项目和一个更新的游标,它被提供给下一次调用 SCAN。此迭代继续,直到 Redis 返回 0 游标。
以下 Python 函数演示了 SCAN 的基本用法:
def scan_keys(r, pattern):
"Returns a list of all the keys matching a given pattern"
result = []
cur, keys = r.scan(cursor=0, match=pattern, count=2)
result.extend(keys)
while cur != 0:
cur, keys = r.scan(cursor=cur, match=pattern, count=2)
result.extend(keys)
return result
SCAN 命令是搜索数据库中密钥的推荐方法,建议使用 KEYS *
命令。