Radis LSET

Radis Lset



Une liste Redis est une structure de données qui contient une séquence d'éléments de chaîne dans l'ordre d'insertion. Il est basé sur la liste liée. Ainsi, l'insertion d'un élément en tête et en queue s'effectue en temps constant. Le seul inconvénient des listes Redis est que l'interrogation des éléments par un index est un peu coûteuse, ce qui prend un temps directement proportionnel à l'index de l'élément accédant. La raison derrière l'implémentation basée sur la liste liée est de rendre l'insertion de données plus rapide pour une très longue liste d'éléments.

Les listes Redis ont une indexation basée sur 0. Le premier élément est désigné par le 0 e indice; le deuxième est au 1 St index, et ainsi de suite. L'accès aux éléments de queue avec les index est possible avec des indices négatifs comme le dernier élément est indexé comme -1, l'avant-dernier élément est -2, et ainsi de suite.









Les éléments de la liste peuvent être définis à n'importe quel index donné avec la commande LSET, qui est décrite dans la section suivante.



La commande LSET

La commande LSET définit un élément à l'index donné d'une liste Redis stockée à la clé spécifiée. Il a la syntaxe simple suivante :





Élément d'index LSET list_key

liste_clé : La clé de la liste Redis.

indice : L'index où vous devez définir un élément.



élément : L'élément de chaîne à définir à l'index spécifié.

Cette commande renvoie une chaîne simple 'OK' si l'élément a été défini correctement. Chaque fois qu'elle rencontre un index qui est hors de la plage, la commande LSET renvoie une erreur.

L'un des cas d'utilisation les plus courants des listes Redis consiste à stocker les publications sur les réseaux sociaux et leurs mises à jour pour les utilisateurs individuels. La commande LSET y joue un rôle important, comme indiqué dans la section suivante.

Cas d'utilisation - Mettre à jour les publications sur les réseaux sociaux

Supposons un événement où une entreprise maintient son propre site Web de médias sociaux avec des milliers d'utilisateurs publiant activement des messages et des statuts. Ils ont identifié que les listes Redis sont le candidat approprié pour occuper ces postes et statuts où l'insertion fréquente se produit, et les listes Redis effectuent l'insertion en temps constant.

Créons une liste Redis pour un identifiant d'utilisateur donné 100 qui sera utilisée pour stocker les publications et les messages d'état de cet utilisateur particulier. Nous utiliserons la commande LPUSH pour mettre des messages factices et des messages d'état pour l'identifiant d'utilisateur 100.

LPUSH social-media:user:100 '2022-08-01 : Belle journée pour commencer.'
LPUSH social-media:user:100 '2022-08-05:Démarrage d'un nouveau travail chez linuxhint'
LPUSH social-media:user:100 '2022-08-06 : Grande fête aujourd'hui'
LPUSH social-media:user:100 '2022-08-07 :Mauvaise journée !!!'

Production

Supposons que l'utilisateur avec l'ID utilisateur 100 mettra à jour l'un de ses anciens messages. Supposons que le troisième message qu'il a publié ait besoin d'être corrigé. La commande LSET peut facilement y parvenir, comme illustré ci-dessous.

Étant donné que le troisième élément est à l'indice 2 de la tête. Nous le mettrons à jour comme suit :

LSET social-media:user:100 2 'A commencé un nouveau rôle en tant qu'écrivain chez LinuxHint'

Production

Comme prévu, la commande a été exécutée avec succès et l'élément au deuxième index a été mis à jour. Revérifions la liste comme suit :

Nous pouvons faire la même chose en spécifiant l'index de la queue comme suit :

LSET social-media:user:100 -2 'A commencé un nouveau rôle en tant qu'écrivain chez LinuxHint'

Comme prévu, le troisième élément a été défini sur la nouvelle chaîne 'Job started at LinuxHINT'.

Si vous spécifiez un index qui est hors plage, cela génère une erreur, comme illustré ci-dessous :

LSET social-media:user:100 6 'Le travail a commencé chez LinuxHINT'

Production

Conclusion

La commande LSET définit un élément de liste à un index spécifié sur un élément donné de la liste Redis stockée à une clé donnée. Puisque les index de la liste Redis commencent à 0, c'est le premier élément. L'index 1 est le deuxième élément de la liste, et ainsi de suite. Comme discuté, les index des éléments à partir de la queue peuvent être spécifiés en utilisant des nombres négatifs comme -1 est le dernier élément, -2 est l'avant-dernier élément, et ainsi de suite. Chaque fois qu'un index inexistant est passé, la commande LSET renverra une erreur. De plus, cette commande renvoie une sortie de chaîne simple lors de l'exécution réussie.