Las listas de Redis tienen indexación basada en 0. El primer elemento se designa como el 0th índice; el segundo está en el 1calle índice, etc. Acceder a elementos de cola con los índices es posible con índices negativos como el último elemento se indexa como -1, el elemento penúltimo es -2, y así sucesivamente.
Los elementos de la lista se pueden establecer en cualquier índice dado con el comando LSET, que se describe en la siguiente sección.
El comando lset
El comando LSET establece un elemento en el índice dado de una lista Redis almacenada en la clave especificada. Tiene la siguiente sintaxis simple:
Elemento de índice lset list_keylist_key: La clave de la lista de Redis.
índice: El índice donde necesita establecer un elemento.
elemento: El elemento de cadena se establecerá en el índice especificado.
Este comando devuelve una cadena simple "OK" si el elemento se ha establecido correctamente. Cada vez que encuentra un índice que está fuera del rango, el comando LSET devuelve un error.
Uno de los casos de uso más comunes de las listas de Redis es almacenar publicaciones en las redes sociales y sus actualizaciones para usuarios individuales. El comando LSET juega un papel importante allí, como se discutió en la siguiente sección.
Caso de uso: actualizar publicaciones en las redes sociales
Supongamos un evento en el que una empresa mantiene su propio sitio web de redes sociales con miles de usuarios que publican activamente publicaciones y estados. Han identificado que las listas de Redis son el candidato adecuado para contener estas publicaciones y estados donde ocurre la inserción frecuente, y las listas de Redis realizan inserción en constante tiempo.
Creemos una lista de Redis para una identificación de usuario determinada 100 que se utilizará para almacenar las publicaciones y mensajes de estado de ese usuario en particular. Usaremos el comando LPUSH para poner algunas publicaciones ficticias y mensajes de estado para el ID de usuario 100.
LPUSH Social-Media: Usuario: 100 "2022-08-01: Buen día para comenzar."Producción
Suponga que el usuario con ID de usuario 100 actualizará una de sus publicaciones antiguas. Supongamos que la tercera publicación que ha publicado necesita algo de corrección. El comando lset puede lograr esto fácilmente, como se muestra en el siguiente.
Dado que el tercer elemento está en el índice 2 desde la cabeza. Lo actualizaremos de la siguiente manera:
LSET Social-Media: Usuario: 100 2 "Comenzó un nuevo rol como escritor en Linuxhint"Producción
Como se esperaba, el comando se ejecutó correctamente y se actualizó el elemento en el segundo índice. Vamos a ver la lista de la siguiente manera:
Podemos hacer lo mismo especificando el índice desde la cola de la siguiente manera:
LSET Social -Media: Usuario: 100 -2 "Comenzó un nuevo rol como escritor en Linuxhint"Como se esperaba, el tercer elemento se ha establecido en la nueva cadena "trabajo iniciado en Linuxhint".
Si especifica un índice que está fuera de rango, aumentará un error, como se muestra en lo siguiente:
LSET Social-Media: Usuario: 100 6 "El trabajo comenzó en Linuxhint"Producción
Conclusión
El comando LSET establece un elemento de lista en un índice especificado a un elemento determinado de la lista Redis almacenada en una clave determinada. Dado que los índices de la lista Redis comienzan desde 0, es el primer elemento. El índice 1 es el segundo elemento de la lista, y así sucesivamente. Como se discutió, los índices de los elementos que comienzan desde la cola se pueden especificar usando números negativos como -1 es el último elemento, -2 es el elemento antes del último, y así sucesivamente. Siempre que se apruebe un índice inexistente, el comando LSET devolverá un error. Además, este comando devuelve una salida de cadena simple sobre la ejecución exitosa.