2 approches pour le suivi des utilisateurs en ligne avec Redis. Lequel est plus rapide?

StackOverflow https://stackoverflow.com/questions/2644021

  •  27-09-2019
  •  | 
  •  

Question

Récemment, j'ai trouvé un billet de blog agréable présentant 2 approches pour le suivi des utilisateurs en ligne d'un site Web avec l'aide de Redis.

1) Smart-clés et leur mise expiration http://techno-weenie.net/2010/2/3/where-s-waldo-track-user-locations-with-node-js-and-redis

2) Set-s et intersecte http: //www.lukemelia .com / blog / Archives / 2010/01/17 / Redis-en-pratique-whos-ligne /

Pouvez-vous juger que l'on devrait être plus rapide et pourquoi?

Était-ce utile?

La solution

Pour savoir si oui ou non un utilisateur est en ligne, la première méthode sera beaucoup plus rapide -. Rien est plus rapide que la lecture d'une seule touche

Trouver les utilisateurs sur une page particulière est pas aussi claire (je ne l'ai pas vu de chiffres précis sur les performances de l'une intersection ou des clés génériques), mais si l'ensemble est assez grand pour causer des problèmes de performance dans la mise en œuvre soit il est pratique pour les afficher de toute façon.

Pour les utilisateurs correspondant à une liste d'amis, je serais probablement aller avec la première approche aussi - même quelques centaines opérations get (vérifier l'état de tous dans la liste) devrait surperformer intersection sur plusieurs jeux si ces jeux ont un grand nombre de dossiers et sont difficiles à maintenir.

ensembles Redis sont plus appropriés pour les choses qui ne peut être fait avec les clés, en particulier lorsque obtenir tous les éléments de l'ensemble est plus important que de vérifier si un élément particulier est dans l'ensemble.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top