Tair (compatible con Redis OSS) ofrece un conjunto de comandos propios para instancias de clúster y de división de lectura/escritura conectadas en proxy mode. Estos comandos permiten dirigirse directamente a shards de datos específicos, algo que los comandos estándar de Redis INFO, SCAN y MONITOR no pueden hacer en un entorno proxy con múltiples shards.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una instancia de clúster o de división de lectura/escritura de Tair conectada en proxy mode
Convenciones de sintaxis
|
Notación |
Significado |
|
|
|
Palabra clave del comando |
|
|
|
Variable: reemplace con un valor real |
|
|
|
Parámetro opcional; los parámetros sin corchetes son obligatorios |
|
|
|
B` |
Parámetros mutuamente excluyentes: especifique solo uno |
|
|
El parámetro anterior puede repetirse |
Comandos
INFO KEY
Sintaxis: INFO KEY _key_
Devuelve el slot de hash y el índice del shard asignados a una clave. Utilice este comando para comprobar si varias claves se encuentran en el mismo slot, requisito indispensable para ejecutar comandos de múltiples claves en instancias de clúster.
El índice de shard que devuelveINFO KEYidentifica un nodo de shard de datos dentro de una instancia de clúster, no un índice de base de datos utilizado por el comandoSELECT.
Ejemplo
INFO KEY foo
Respuesta
slot:12182 node_index:0
IINFO
Sintaxis: IINFO _db_idx_ [_section_] [[_section_] ...]
Devuelve estadísticas de un nodo de shard de datos específico. Equivale a ejecutar el comando nativo de Redis INFO en dicho shard.
|
Parámetro |
Descripción |
Valores válidos |
|
|
Índice del nodo de shard de datos |
De 0 al número total de shards del clúster |
|
|
(Opcional) Una o más secciones de INFO que se devolverán |
Las mismas secciones que el comando nativo |
Ejemplo
IINFO 1 Server
Respuesta
"# Server\r\nredis_version:5.0.13\r\nos:Linux\r\ntcp_port:6379\r\nuptime_in_seconds:547026\r\nuptime_in_days:6\r\nhz:10\r\nlru_clock:4869333\r\n"
RIINFO
Sintaxis: RIINFO _db_idx_ _ro_slave_idx_ [_section_] [[_section_] ...]
Devuelve estadísticas de una réplica de solo lectura específica en una instancia de división de lectura/escritura. Equivale a ejecutar el comando nativo de Redis INFO en dicha réplica.
|
Parámetro |
Descripción |
Valores válidos |
|
|
Índice del shard principal |
Predeterminado: |
|
|
Índice de la réplica de solo lectura |
De 0 a 5 |
|
|
(Opcional) Una o más secciones de INFO que se devolverán |
Las mismas secciones que el comando nativo |
Ejemplo
RIINFO 0 0 Server
Respuesta
"# Server\r\nredis_version:5.0.13\r\nos:Linux\r\ntcp_port:6379\r\nuptime_in_seconds:322575\r\nuptime_in_days:3\r\nhz:10\r\nlru_clock:4926418\r\n"
ISCAN
Sintaxis: ISCAN _db_idx_ _cursor_ [MATCH _pattern_] [COUNT _count_]
Ejecuta un escaneo de claves en un nodo de shard de datos específico dentro de una instancia de clúster. Equivale al comando nativo de Redis SCAN.
|
Parámetro |
Descripción |
Valores válidos |
|
|
Índice del nodo de shard de datos |
De 0 al número total de shards del clúster |
|
|
Posición del cursor; utilice |
Entero ≥ 0 |
|
|
(Opcional) Devuelve solo las claves que coinciden con el patrón |
Patrón estilo glob, por ejemplo, |
|
|
(Opcional) Sugerencia sobre cuántas claves escanear por llamada |
Entero > 0 |
Ejemplo: escanear todas las claves en el shard 0
ISCAN 0 0
Ejemplo: filtrar claves por patrón
ISCAN 0 0 MATCH user:*
Respuesta
1) "0"
2) 1) "user:1001"
2) "user:1002"
3) "user:1003"
Ejemplo: limitar las claves escaneadas por llamada
ISCAN 0 0 COUNT 3
Respuesta
1) "0"
2) 1) "dkjfd"
2) "k"
3) "9z9"
COUNTes una sugerencia, no un límite estricto. La cantidad real de claves devueltas puede variar. Repita la iteración hasta que el cursor devuelva"0"para completar el escaneo completo.
IMONITOR
Sintaxis: IMONITOR _db_idx_
Transmite todos los comandos procesados por un nodo de shard de datos específico en una instancia de clúster. Equivale al comando nativo de Redis MONITOR.
|
Parámetro |
Descripción |
Valores válidos |
|
|
Índice del nodo de shard de datos (Master) |
De 0 al número total de shards del clúster |
Ejecute IMONITOR mediante Telnet. El siguiente ejemplo muestra una sesión completa:
$ telnet <host> <port>
Trying <host>...
Connected to <host>.
AUTH <password>
+OK
IMONITOR 0
+OK
+1682652565.538228 [0 127.0.0.1:38618] "info" "all"
+1682652566.538231 [0 127.0.0.1:38618] "info" "all"
QUIT
+OK
Para detener la transmisión, envíe QUIT.
RIMONITOR
Sintaxis: RIMONITOR _db_idx_ _ro_slave_idx_
Transmite todos los comandos procesados por una réplica de solo lectura específica en una instancia de división de lectura/escritura. Equivale al comando nativo de Redis MONITOR.
|
Parámetro |
Descripción |
Valores válidos |
|
|
Índice del shard principal |
Predeterminado: |
|
|
Índice de la réplica de solo lectura |
De 0 a 5 |
Ejecute RIMONITOR mediante Telnet. El siguiente ejemplo muestra una sesión completa:
$ telnet <host> <port>
Trying <host>...
Connected to <host>.
AUTH <password>
+OK
RIMONITOR 0 1
+OK
+1682653310.571527 [0 127.0.0.1:59492] "info" "all"
+1682653311.571573 [0 127.0.0.1:59492] "info" "all"
QUIT
+OK
Para detener la transmisión, envíe QUIT.