想通过Node.js存储在Redis中

时间:2011-06-01 05:22:36

标签: json node.js redis key-value-store

我想在Redis中存储用户的哈希/ JSON数据,并希望在用户中添加用户哈希用户数据。

例如,users = {};

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

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

当用户 namita 登录时

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

    },
    namita: {
        username: 'namita',

    }
}

在Redis中执行此操作的代码是什么?

如何初始化密钥users并将 rahul 添加到其中?

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

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

1 个答案:

答案 0 :(得分:22)

存储单个hash / json的最佳解决方案可能是使用hashes命令。我还有这个“dilemma”,并且several questions涉及数据结构,其中包含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的更多信息。