Redis SCAN-Befehl

Redis-Schlüssel

Der Redis SCAN-Befehl wird verwendet, um über die Schlüssel in der Datenbank zu iterieren.

Der SCAN-Befehl ist ein Cursor-basierter Iterator. Bei jedem Aufruf gibt er einen neuen Cursor an den Benutzer zurück. Der Benutzer muss diesen neuen Cursor als Cursor-Parameter des SCAN-Befehls in der nächsten Iteration verwenden, um den vorherigen Iterationsprozess fortzusetzen.

SCAN gibt ein Array zurück, das zwei Elemente enthält. Das erste Element ist der neue Cursor, der für die nächste Iteration verwendet wird, und das zweite Element ist ein Array, das alle Elemente enthält, über die iteriert wurde. Wenn der neue Cursor 0 zurückgibt, zeigt dies an, dass die Iteration beendet ist.

Zugehörige Befehle:

  • SSCANDieser Befehl wird verwendet, um über Elemente in Set-Schlüsseln zu iterieren.
  • HSCANDieser Befehl wird verwendet, um über Schlüssel-Wert-Paare in Hash-Schlüsseln zu iterieren.
  • ZSCANDieser Befehl wird verwendet, um über Elemente in sortierten Mengen zu iterieren (einschließlich Elementmitglieder und Element-Scores).

Syntax

Die grundlegende Syntax des Redis-SCAN-Befehls lautet wie folgt:

SCAN cursor [MATCH pattern] [COUNT count]
  • cursor - Der Cursor.
  • pattern - Das passende Muster.
  • count - Optional. Wird verwendet, um die Anzahl der pro Iteration zurückgegebenen Schlüssel anzugeben. Der Standardwert ist 10.

Verfügbare Versionen

>= 2.8.0

Rückgabewert

Eine Array-Liste.

Beispiel

Verwenden Sie den SCAN-Befehl zum Iterieren:
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-Schlüssel

Weitere Erweiterungen