当前位置: 首页 > 面试题库 >

通过node.js应用将嵌套的哈希保存在Redis中

吴哲
2023-03-14
问题内容

我正在使用node_redis,我想保存一个结构:

{
users : 
    "alex" : { "email" : "alex@gmail.com",
           "password" : "alex123"},
    "sandra" : { "email" : "sandra@gmail.com",
           "password" : "sandra123"},
    ...
}

当前,我为每个用户创建一个JSON对象:

jsonObj = { "email" : "alex@gmail.com",
            "password" : "alex123"}

并做一个

db.hmset("alex", JSON.stringify(jsonObj))

是否可以将此结构嵌入到另一个结构(用户结构)中?如何设置具有该结构的users [“ alex”]?


问题答案:

据我所知,Redis中没有对嵌套结构的本地支持,但是可以使用set +
hash(类似于分层树)对它们进行建模。散列可能最适合存储单个JSON对象的字段和值。我要做的是为每个用户存储一个前缀(这是Redis
约定),例如:

db.hmset("user:alex", JSON.stringify(jsonObj));

然后使用集合将用户分组为一个名为的密钥users。然后,我可以得到所有的用户密钥由smembers使用命令和访问他们每个人单独hgetall。



 类似资料:
  • 问题内容: 我刚刚从Redis和Rails开始,所以这可能是一个愚蠢的问题。 我正在尝试将哈希保存到Redis服务器,但是当我检索它时,它只是一个字符串IE。 这显然是错误的,因为它以字符串形式返回。 我也尝试循环一些结果并使用hset即。 不知道要去哪里。我删除了键$ redis.del(’data’)以确保这不是问题。 希望你能提供建议,李 问题答案: 我应该更仔细地阅读redis文档。 回答

  • 问题内容: 我在Redis中存储MessagePacked哈希时遇到问题。我在下面粘贴了一个测试用例。从Redis中提取打包数据并对其进行解压缩时,哈希会略有损坏。当哈希值超出一定长度时,似乎会发生这种情况,尽管我不能肯定地说。 我正在使用Redis 2.4.17(默认配置),Ruby 1.9.3p194,MessagePack 0.4.7和Redis gem 3.0.2。使用节点也会发生相同的问

  • 问题内容: 使用Redis来创建“记录”时,可以创建具有多个字段的哈希。例如: 您可以通过了解键值来检索此值,但是我想知道有什么方法可以检索field2中所有具有“ World”的哈希值? 问题答案: Redis中没有索引,并且不实现SQL。这是一个键值存储。您提供一把钥匙,就能为您带来价值。 也就是说,您可以通过自己维护二级索引来实现此目的。例如: 创建一条记录和一个索引条目 更新记录,删除旧索

  • 本文向大家介绍Powershell使用嵌套哈希表实例 嵌套哈希表的2种写法例子,包括了Powershell使用嵌套哈希表实例 嵌套哈希表的2种写法例子的使用技巧和注意事项,需要的朋友参考一下 嵌套哈希表对于多维数组是一个更好选择。这种存储方式将更易于管理。请看: 也可以使用这种写法,也许更好: 脚本定义了一个用户,你可以查看一下这个用户的全部信息:   你将更容易获得里面单个信息:

  • 我想迭代嵌套在映射中的列表,数据结构如下所示: Freemarker模板: 详细异常消息: FreeMarker模板错误:“...[...]”左操作数:需要序列或字符串或自动转换为字符串的东西(数字、日期或布尔值),但计算结果为extended_hash(包装器:f.t.simplehash):==>groups 那么,问题出在哪里呢? 附言。 我尝试了而不是,它会抛出一个新的异常堆栈: