掃描 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 *
命令。