Команда Redis SCAN

Ключи Redis

Команда 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

Другие расширения