Cómo usar Redis Scan

Cómo usar Redis Scan
Esta guía le enseñará cómo trabajar con el comando Redis Scan. El comando de escaneo se usa para iterar a través de las claves dentro de una base de datos redis específica.El comando de escaneo en Redis es un iterador basado en cursor. Por lo tanto, el servidor Redis devolverá un cursor actualizado en cada llamada de comando.

¿Qué es Redis Scan?

Como se mencionó, el escaneo en Redis es un iterador basado en cursor que le permite iterar sobre el conjunto de claves en una base de datos específica de Redis. El comando acepta la posición del cursor como argumento.

El servidor devuelve un cursor de actualización cada vez que se llama. Se puede usar el uso del cursor actualizado como argumento en la siguiente llamada de comando.

La iteración comienza cuando el cursor está en la posición 0 y se detiene cuando el cursor que proviene del servidor está a las 0.

Uso de escaneo - ejemplos

Tomemos algunos ejemplos para ilustrar cómo funciona el comando de escaneo. Comience creando una colección de claves y valores como se muestra en el comando a continuación:

127.0.0.1: 6379> MSET CLAVE1 VALOR1 CLAVE2 VALOR2 CLAVE3 VALOR3 CLAVE4 VALOR4 CLAVE5 VALOR5 CLAVE6 VALOR6
DE ACUERDO

El ejemplo anterior inserta un conjunto de teclas ficticias y pares de valor para fines de ilustración.

Ahora que tenemos una base de datos con claves y valores, podemos usar el comando de escaneo para iterar sobre las teclas.

El comando se puede ejecutar como:

127.0.0.1: 6379> escanear 0
1) "0"
2) 1) "Key4"
2) "RQ: terminado: predeterminado"
3) "Key5"
4) "Key6"
5) "Key2"
6) "Key3"
7) "RQ: colas"
8) "Key1"
9) "Capitanes"

Una vez que ejecutemos el comando, iterará sobre las claves en la base de datos y devolverá todas las claves disponibles.

Nota: El comando de escaneo solo devolverá las primeras diez claves en la base de datos. Dado que el comando de escaneo puede obtener los primeros diez elementos en nuestro ejemplo, devuelve un valor entero de 0, como se muestra arriba.

Tomemos un ejemplo en el que el cursor regresado del servidor no sea 0. Si agregamos las teclas como se muestra en el comando a continuación:

Clave mset 7 value7 key8 value8 key9 value9 key10 value10 key11 value11 key12 value12

Si volvemos a ejecutar el comando de escaneo, devolverá la última posición donde se detuvo el cursor.

127.0.0.1: 6379> escanear 0
1) "13"
2) 1) "Key4"
2) "Key9"
3) "RQ: terminado: predeterminado"
4) "Key5"
5) "Key6"
6) "Key8"
7) "Key2"
8) "Key3"
9) "Key10"
10) "Key7"
11) "RQ: colas"

En este ejemplo, la posición del cursor es de 13. Podemos usar esta posición para escanear las teclas restantes.

127.0.0.1: 6379> escanear 13
1) "0"
2) 1) "Key11"
2) "Key1"
3) "Key12"
4) "Capitanes"

Dado que el comando obtiene todas las teclas, en este caso, devuelve el cursor en la posición 0.

Opciones de escaneo

El comando de escaneo acepta dos opciones principales:

  1. CONTAR
  2. FÓSFORO

Recuento de exploración

El comando de conteo le permite modificar cuántas teclas el comando de escaneo obtendrá por llamada. Por defecto, el comando de escaneo obtiene diez teclas.

Sin embargo, podemos modificar esto configurando el comando de conteo.

127.0.0.1: 6379> escanear 0 recuento 15

Ejemplo de salida del comando anterior es como se muestra:

1) "0"
2) 1) "Key4"
2) "Key9"
... truncado ..
14) "Key12"
15) "Capitanes"

En este ejemplo, establecemos el cursor para devolver 15 elementos en lugar de los 10 predeterminados. Dado que no hay más de 15 claves en la base de datos, el servidor devuelve la posición de clave a 0.

Escanear

La opción de coincidencia le permite escanear las teclas que coincidan con un patrón específico. Por ejemplo, para devolver todas las teclas que coinciden K*, podemos hacer.

127.0.0.1: 6379> escanear 0 coincidencia k*
1) "13"
2) 1) "Key4"
2) "Key9"
3) "Key5"
4) "Key6"
5) "Key8"
6) "Key2"
7) "Key3"
8) "Key10"
9) "Key7"

El comando anterior solo devuelve las teclas que coinciden con el patrón especificado.

Puede usar las opciones de coincidencia y contar en el mismo comando.

127.0.0.1: 6379> escanear 0 coincidencia k* recuento 15
1) "0"
2) 1) "Key4"
2) "Key9"
---TRUNCADO---
11) "Key1"
12) "Key12"

Conclusión

Esta guía le brinda el uso básico y los ejemplos de uso del comando Redis Scan. El escaneo le permite iterar a través de las claves de la base de datos utilizando una posición de cursor. Puede verificar la documentación para obtener más variaciones de escaneo.