Redis
 sql >> Base de données >  >> NoSQL >> Redis

2 approches pour suivre les utilisateurs en ligne avec Redis. Laquelle est la plus rapide ?

Pour savoir si un utilisateur particulier est en ligne ou non, la première méthode sera beaucoup plus rapide - rien n'est plus rapide que de lire une seule clé.

Trouver des utilisateurs sur une page particulière n'est pas aussi clair (je n'ai pas vu de chiffres concrets sur les performances des clés d'intersection ou des caractères génériques), mais si l'ensemble est suffisamment grand pour causer des problèmes de performances dans l'une ou l'autre des implémentations, il n'est pas pratique à afficher tous de toute façon.

Pour faire correspondre les utilisateurs à une liste d'amis, j'opterais probablement également pour la première approche - même quelques centaines d'opérations get (vérifiant le statut de tout le monde dans la liste) devraient surpasser l'intersection sur plusieurs ensembles si ces ensembles ont un grand nombre d'enregistrements et sont difficile à maintenir.

Les ensembles Redis sont plus appropriés pour les choses qui ne peuvent pas être faites avec des clés, en particulier lorsqu'il est plus important d'obtenir tous les éléments de l'ensemble que de vérifier si un élément particulier se trouve dans l'ensemble.