8

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

例如,users = {};

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

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

当用户namita登录时

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

    },
    namita: {
        username: 'namita',

    }
}

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

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

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

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

4

1 回答 1

22

存储单个 hash/json 的最佳解决方案可能是使用hashes命令。我也有这个“困境”,并且有几个 关于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哈希命令访问您的用户,具体取决于您是只想检索某些哈希值还是整个单个用户对象。例如,要获取所有用户,您可以使用SMEMBERS命令。尝试查看 node_redis自述文件和示例,您应该在其中找到有关其 API 的更多信息。

于 2011-06-01T07:22:55.430 回答