2011-06-01 4 views
8

Je veux stocker un hachage/données JSON des utilisateurs dans Redis et que vous souhaitez ajouter l'utilisateur dans les utilisateurs des données de l'utilisateur comme ceci. Par exemple users = {};Voulez-vous stocker dans Redis via Node.js

Lorsque l'utilisateur rahul se connecte puis users deviendra.

users = { 
    rahul: { 
     username: 'rahul',   
    } 
} 

Et lorsque l'utilisateur namita connexion puis

users = { 
    rahul: { 
     username: 'rahul', 

    }, 
    namita: { 
     username: 'namita', 

    } 
} 

Quel sera le code est de le faire dans Redis?

Comment initialiser la clé users et y ajouter rahul?

De cet ensemble, hset, etc., quelle fonction dois-je utiliser?

Et comment vais-je récupérer les données de users['rahul'] via Redis?

Répondre

22

La solution la plus optimale pour stocker single hash/json serait probablement d'utiliser les commandes hashes. J'ai également eu ce "dilemma" et il y a severalquestions concernant la structure de données contenant des utilisateurs avec des objets de type JSON dans Redis.

EDIT

Utilisez module node_redis. Il est activement maintenu par un pro un pilote node.js probablement le plus utilisé pour Redis. Vous devez d'abord utiliser la commande SADD pour ajouter votre nouveau nom d'objet JSON dans l'ensemble afin de suivre les éléments "utilisateurs". Utilisez ensuite HMSET pour stocker les hachages de valeur-clé d'objet "user: rahul". Exemple:

// add first user 
client.sadd("users", "user:rahul"); 
client.hmset("user:rahul", "username", "rahul", "foo", "bar"); 

// add second user 
client.sadd("users", "user:namita"); 
client.hmset("user:namita", "username", "namita", "foo", "baz"); 

Vous pouvez désormais accéder à vos utilisateurs par différents types de commande Redis hash en fonction si vous souhaitez récupérer uniquement certaines valeurs de hachage ou l'ensemble de l'objet utilisateur unique. Pour obtenir tous les utilisateurs, vous pouvez utiliser la commande SMEMBERS par exemple. Essayez de regarder le node_redis readme et examples où vous devriez trouver plus d'informations sur son API.

+0

s'il vous plaît écrire l'exemple de code, je suis allé à travers la question, ils suggèrent après les utilisateurs, mais d'abord comment déclarer les utilisateurs hash? ou je prévois d'utiliser redissql est-ce bon? – XMen

+1

@Rahul Mehta: Réponse mise à jour. – yojimbo87

Questions connexes