Usando listas en Redis

Usando listas en Redis
Una lista en Redis se refiere a una colección de valores de cadena que se ordenan por orden de inserción. En Redis, una lista puede tener hasta 4 mil millones de elementos. Redis utiliza el concepto de cabeza y cola para administrar una lista, como cubriremos en esta guía.

Usando esta guía, aprenderá cómo trabajar con listas en Redis, incluida la creación, insertación y eliminación de valores.

En esta guía, hemos probado todos los comandos de la última versión de Redis. Le recomendamos que haga lo mismo y use la cli Redis nativa. Hacerlo garantizará la máxima compatibilidad y le permitirá ver salidas similares a las de esta guía.

Conceptos básicos: crear una lista en Redis

Crear una lista en Redis es un poco más que crear una clave simple y un par de valores. Es bueno tener en cuenta que una clave puede contener una sola lista.

Como se mencionó, Redis utiliza el concepto de cabeza y cola o izquierda y derecha para administrar una lista.

Hay dos formas en que puede agregar elementos a una lista:

  1. Lpush
  2. Rpush

Los comandos LPUSH agregan el nuevo elemento especificado a la cabeza de la lista (o a la izquierda). El comando rpush, por otro lado, agregará el nuevo elemento de lista a la cola (o derecha) de la lista especificada.

Utiliza dos comandos principales para crear una nueva lista o agregar elementos a una lista existente.

Tomemos algunos ejemplos.

Para crear una lista simple llamada bases de datos, podemos usar el comando:

127.0.0.1: 6379> Lpush Bases de datos MongoDB
(entero) 1

Nota: también puede usar RPush para realizar la misma operación.

Los comandos LPUSH y RPUSH devolverán un valor entero que indica el número de elementos en la lista.

Tome los siguientes ejemplos para agregar más elementos a la lista.

127.0.0.1: 6379> Lpush Bases de datos MongoDB
127.0.0.1: 6379> Bases de datos LPUSH Redis
127.0.0.1: 6379> bases de datos RPUSH PostgreSQL
127.0.0.1: 6379> bases de datos RPUSH mySQL
127.0.0.1: 6379> Lpush Bases de datos Cucroachdb
(entero) 5

Puede agregar varios elementos a una lista en un solo comando. Por ejemplo, podemos sustituir los comandos anteriores por uno como:

127.0.0.1: 6379> Bases de datos LPUSH MongoDB Redis Postgresql MySQL COCROACHDB
(entero) 5

El mismo caso se aplica al comando rpush.

Redis también proporciona los comandos LPUSHX y RPUSHX. Se usan similares a los comandos LPUSH y RPUSH; Sin embargo, no pueden crear una lista. La clave debe existir antes de insertar elementos con comandos LPUSHX y RPUSHX.

127.0.0.1: 6379> bases de datos RPUSHX Firestore
127.0.0.1: 6379> bases de datos LPUSHX mariadb

Actualizar un elemento de lista

Para modificar un valor de un elemento en una lista de Redis, use el comando lset. El comando toma la lista, el índice del elemento anterior para actualizar y el nuevo valor.

Por ejemplo, para cambiar el valor del elemento en el índice 0, podemos hacer:

127.0.0.1: 6379> bases de datos lset 0 sqlite
DE ACUERDO

El comando devuelve la cadena "OK" si el comando se ejecuta correctamente.

Obtener elementos de una lista

Para obtener elementos de una lista, use el comando lrange. El comando toma un índice de inicio y parada y devuelve los valores dentro del rango especificado.

Por ejemplo:

127.0.0.1: 6379> bases de datos lrange 0 5
1) "sqlite"
2) "Cucroachdb"
3) "mysql"
4) "PostgreSQL"
5) "Redis"
6) "MongoDB"

Puedes usar un rango negativo. Por ejemplo, -1 representa el último elemento en la lista, y -4 representa el cuarto elemento del cuarto a último.

Ejemplo:

127.0.0.1: 6379> bases de datos LRANGE -4 -1
1) "PostgreSQL"
2) "Redis"
3) "MongoDB"
4) "Firestore

Si desea obtener un solo elemento en la lista, use el comando lindex seguido del índice de destino del elemento para obtener.

Por ejemplo:

127.0.0.1: 6379> bases de datos de lindex 2
"Mysql"

Tenga en cuenta que la indexación comienza en 0.

Si desea saber el número de elementos en una lista, use el comando LLEN.

127.0.0.1: 6379> bases de datos LLEN
(entero) 7

El comando devuelve un entero que representa el número de elementos en la lista.

Eliminar elementos de una lista

Si desea eliminar un elemento de una lista, use el comando LREM. El comando toma el recuento y un valor para eliminar.

El comando eliminará la primera ocurrencia que coincide con un patrón específico de forma predeterminada.

127.0.0.1: 6379> bases de datos LREM 1 mysql

También puede usar los comandos LPOP y RPOP para eliminar elementos de una lista. Los comandos eliminan los elementos más a la izquierda y a la derecha en la lista, respectivamente.

127.0.0.1: 6379> bases de datos LPOP
"Sqlite"
127.0.0.1: 6379> bases de datos RPOP
"Firestore"

Ambos comandos eliminan y devuelven el valor del elemento eliminado.

Clausura

Usando esta guía, aprendió a trabajar con la lista en Redis. Puede consultar la documentación para obtener más información sobre los comandos de la lista y cómo funcionan.

Gracias por leer 🙂