2011-11-03 2 views
3

J'utilise Redis comme datastore pour une application d'analyse en temps réel. Supposons qu'un client envoie un ping au serveur toutes les 20 secondes pour indiquer qu'il est actif.Redis Structure for Realtime Analytics

Quelle est la manière la plus efficace de modéliser ceci dans Redis?

Chaque client a un clientid et chaque visiteur a un uid.

J'ai pensé d'aborder cela comme:

clientid_realtime est la clé et il contient un hachage qui sont les uid: horodatages de chaque ping, mais cela nécessiterait que je reçois tous les hash et les trier.

En outre, chaque clé de hachage se développerait follement au fil du temps et devenir très grand ..

+0

avez-vous vérifié les ensembles triés? –

+0

Ouais, je ne sais pas comment les appliquer ici. Suggérez-vous d'utiliser l'horodatage comme valeur à trier? – user1026817

+3

oui, stocker les horodatages en tant que score et les données utilisateur en tant que valeur –

Répondre

0

Si le tri est une exigence supérieure, vous devez utiliser des ensembles triés. pour incrémenter les scores, il suffit d'utiliser la commande zincrby avec la valeur 1

Questions connexes