2011-06-01 62 views
8

我想在Redis中存储用户的散列/ JSON数据,并希望在用户中添加用户散列用户数据。想要通过Node.js存储在Redis中

例如,users = {};

当用户rahul登录,然后users将成为。

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

而且用户namita登录时则

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

    }, 
    namita: { 
     username: 'namita', 

    } 
} 

会是什么代码在Redis的做到这一点?

我将如何初始化密钥users并添加rahul

在这个集合中,hset等等,我需要使用哪个函数?

如何通过Redis检索users['rahul']的数据?

回答

22

可能存储单个散列/ json的最佳解决方案可能是使用hashes命令。我也有这个“dilemma”,并有severalquestions有关包含Redis中类似JSON对象的用户的数据结构。

编辑

使用node_redis模块。它由专业人士主动维护,可能是Redis最常用的node.js驱动程序。首先,您应该使用SADD命令将新的JSON对象名称添加到集合中,以跟踪“用户”包含的项目。然后使用HMSET来存储“user:rahul”对象键值哈希值。例如:

// 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"); 

您现在可以通过不同类型的Redis hash命令的根据,如果你只想检索某些哈希值或整单用户对象访问用户。例如,要获取所有用户,您可以使用SMEMBERS命令。尝试查看node_redis readmeexamples,您应该在其中找到有关其API的更多信息。

+0

请写下示例代码,我已经经历了这些建议后的用户,但首先如何声明用户散列?或者正在计划使用redissql是否好? – XMen 2011-06-01 07:28:27

+1

@Rahul Mehta:答复已更新。 – yojimbo87 2011-06-01 08:24:02