Rábano LSET

Rabano Lset



Una lista de Redis es una estructura de datos que contiene una secuencia de elementos de cadena en el orden de inserción. Se basa en la lista enlazada. Entonces, la inserción de un elemento en la cabeza y la cola se realiza en tiempo constante. El único inconveniente de las listas de Redis es que consultar elementos por un índice es un poco costoso, lo que lleva un tiempo directamente proporcional al índice del elemento que accede. La razón detrás de la implementación basada en listas vinculadas es hacer que la inserción de datos sea más rápida para una lista muy larga de elementos.

Las listas Redis tienen una indexación basada en 0. El primer elemento se designa como el 0 el índice; el segundo esta en el 1 S t índice, y así sucesivamente. Es posible acceder a los elementos de la cola con los índices con índices negativos como el último elemento está indexado como -1, el penúltimo elemento 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 de Redis almacenada en la clave especificada. Tiene la siguiente sintaxis simple:





Elemento de índice LSET list_key

list_key : La clave de la lista de Redis.

índice : El índice donde necesita establecer un elemento.



elemento : El elemento de cadena que se establecerá en el índice especificado.

Este comando devuelve una cadena simple 'OK' si el elemento se ha configurado 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 redes sociales y sus actualizaciones para usuarios individuales. El comando LSET juega un papel importante allí, como se explica en la siguiente sección.

Caso de uso: actualizar publicaciones en 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 ocupar estos puestos y estados donde ocurre la inserción frecuente, y las listas de Redis realizan la inserción en tiempo constante.

Vamos a crear una lista de Redis para una identificación de usuario determinada 100 que se usará para almacenar las publicaciones y los mensajes de estado de ese usuario en particular. Usaremos el comando LPUSH para colocar algunas publicaciones ficticias y mensajes de estado para la identificación de usuario 100.

LPUSH social-media:user:100 '2022-08-01:Buen día para empezar'.
LPUSH social-media:usuario:100 '2022-08-05:Comenzó un nuevo trabajo en linuxhint'
LPUSH social-media:usuario:100 '2022-08-06:Gran fiesta hoy'
LPUSH social-media:usuario:100 '2022-08-07:¡¡Mal día!!!'

Producción

Suponga que el usuario con ID de usuario 100 actualizará una de sus publicaciones anteriores. Supongamos que la tercera publicación que ha publicado necesita alguna corrección. El comando LSET puede lograr esto fácilmente, como se muestra a continuación.

Dado que el tercer elemento está en el índice 2 de Head. Lo actualizaremos de la siguiente manera:

LSET social-media:user:100 2 'Comenzó un nuevo rol como escritor en LinuxHint'

Producción

Como era de esperar, el comando se ejecutó correctamente y se actualizó el elemento en el segundo índice. Revisemos la lista de la siguiente manera:

Podemos hacer lo mismo especificando el índice de la cola de la siguiente manera:

LSET social-media:user:100 -2 'Comenzó un nuevo rol como escritor en LinuxHint'

Como era de esperar, el tercer elemento se ha establecido en la nueva cadena 'Trabajo iniciado en LinuxHINT'.

Si especifica un índice que está fuera de rango, generará un error, como se muestra a continuación:

LSET social-media:user:100 6 'Trabajo iniciado en LinuxHINT'

Producción

Conclusión

El comando LSET establece un elemento de lista en un índice específico para un elemento determinado de la lista de Redis almacenada en una clave determinada. Dado que los índices de la lista de 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 anterior al último, y así sucesivamente. Cada vez que se pasa un índice que no existe, el comando LSET devolverá un error. Además, este comando devuelve una salida de cadena simple sobre la ejecución exitosa.