Rabanete LSET

Rabanete Lset



Uma lista Redis é uma estrutura de dados que contém uma sequência de elementos de string na ordem de inserção. Baseia-se na Lista Ligada. Assim, a inserção de um elemento na cabeça e na cauda é realizada em tempo constante. A única desvantagem das listas do Redis é que consultar elementos por um índice é um pouco caro, o que leva tempo diretamente proporcional ao índice do elemento de acesso. A razão por trás da implementação baseada em lista vinculada é tornar a inserção de dados mais rápida para uma lista muito longa de itens.

As listas do Redis têm indexação baseada em 0. O primeiro elemento é designado como o 0 º índice; o segundo está no 1 rua índice e assim por diante. O acesso aos elementos de cauda com os índices é possível com índices negativos, como o último elemento é indexado como -1, o penúltimo elemento é -2 e assim por diante.









Os elementos da lista podem ser definidos em qualquer índice com o comando LSET, que é descrito na seção a seguir.



O comando LSET

O comando LSET define um elemento no índice fornecido de uma lista Redis armazenada na chave especificada. Tem a seguinte sintaxe simples:





Elemento de índice LSET list_key

chave_lista : a chave da lista Redis.

índice : o índice onde você precisa definir um elemento.



elemento : O elemento string a ser definido no índice especificado.

Este comando retorna uma string simples “OK” se o elemento foi configurado corretamente. Sempre que encontra um índice que está fora do intervalo, o comando LSET retorna um erro.

Um dos casos de uso mais comuns das listas do Redis é armazenar postagens de mídia social e suas atualizações para usuários individuais. O comando LSET desempenha um papel importante, conforme discutido na seção a seguir.

Caso de uso - Atualizar postagens de mídia social

Vamos supor um evento em que uma empresa mantém seu próprio site de mídia social com milhares de usuários postando ativamente postagens e status. Eles identificaram que as listas Redis são o candidato adequado para manter esses cargos e status onde a inserção frequente acontece, e as listas Redis realizam a inserção em tempo constante.

Vamos criar uma lista Redis para um determinado ID de usuário 100 que será usado para armazenar as postagens e mensagens de status desse usuário específico. Usaremos o comando LPUSH para colocar alguns posts fictícios e mensagens de status para o ID de usuário 100.

LPUSH social-media:user:100 '2022-08-01:Bom dia para começar.'
LPUSH social-media:user:100 '2022-08-05:Iniciou um novo emprego no linuxhint'
LPUSH social-media:user:100 '2022-08-06:Grande festa hoje'
LPUSH social-media:user:100 '2022-08-07:Dia ruim!!!'

Resultado

Suponha que o usuário com ID de usuário 100 atualizará uma de suas postagens antigas. Suponha que o terceiro post que ele postou precise de alguma correção. O comando LSET pode fazer isso facilmente, conforme mostrado a seguir.

Já que o terceiro elemento está no índice 2 do Head. Estaremos atualizando da seguinte forma:

LSET social-media:user:100 2 'Iniciou uma nova função como escritor no LinuxHint'

Resultado

Como esperado, o comando foi executado com sucesso e o elemento no segundo índice foi atualizado. Vamos verificar novamente a lista da seguinte forma:

Podemos fazer o mesmo especificando o índice da cauda da seguinte forma:

LSET social-media:user:100 -2 'Iniciou uma nova função como escritor no LinuxHint'

Como esperado, o terceiro elemento foi definido para a nova string “Job started at LinuxHINT”.

Se você especificar um índice fora do intervalo, ele gerará um erro, conforme mostrado a seguir:

LSET social-media:user:100 6 'Trabalho iniciado no LinuxHINT'

Resultado

Conclusão

O comando LSET define um elemento de lista em um índice especificado para um determinado elemento da lista Redis armazenada em uma determinada chave. Como os índices da lista Redis começam em 0, ele é o primeiro elemento. O índice 1 é o segundo elemento da lista e assim por diante. Conforme discutido, os índices dos elementos a partir da cauda podem ser especificados usando números negativos como -1 é o último elemento, -2 é o elemento antes do último e assim por diante. Sempre que um índice inexistente é passado, o comando LSET retornará um erro. Além disso, este comando retorna uma saída de string simples sobre a execução bem-sucedida.