Команда Redis SCAN
Команда Redis SCAN используется для перебора ключей в базе данных.
Команда SCAN — это итератор на основе курсора. При каждом вызове она возвращает пользователю новый курсор. Пользователю нужно использовать этот новый курсор в качестве параметра курсора команды SCAN при следующей итерации, чтобы продолжить предыдущий процесс итерации.
SCAN возвращает массив, содержащий два элемента. Первый элемент — новый курсор, используемый для следующей итерации, а второй элемент — массив, содержащий все элементы, которые были перебраны. Если новый курсор возвращает 0, это означает, что итерация завершена.
Связанные команды:
- SSCANЭта команда используется для перебора элементов в ключах множеств.
- HSCANЭта команда используется для перебора пар ключ-значение в хеш-ключах.
- ZSCANЭта команда используется для перебора элементов в сортированных множествах (включая элементы множества и их оценки).
Синтаксис
Базовый синтаксис команды Redis SCAN выглядит следующим образом:
SCAN cursor [MATCH pattern] [COUNT count]
- cursor — курсор.
- pattern — шаблон сопоставления.
- count — необязательный. Используется для указания количества ключей, возвращаемых за одну итерацию. Значение по умолчанию — 10.
Доступные версии
>= 2.8.0
Возвращаемое значение
Список массива.
Пример
Используйте команду SCAN для перебора:
redis 127.0.0.1:6379> scan 0 # 使用 0 作为游标,开始新的迭代
1) "17" # 第一次迭代时返回的游标
2) 1) "key:12"
2) "key:8"
3) "key:4"
4) "key:14"
5) "key:16"
6) "key:17"
7) "key:15"
8) "key:10"
9) "key:3"
10) "key:7"
11) "key:1"
redis 127.0.0.1:6379> scan 17 # 使用的是第一次迭代时返回的游标 17 开始新的迭代
1) "0"
2) 1) "key:5"
2) "key:18"
3) "key:0"
4) "key:2"
5) "key:19"
6) "key:13"
7) "key:6"
8) "key:9"
9) "key:11"
Другие расширения
Ключи Redis