小编典典

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

redis

我正在使用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”]?


阅读 285

收藏
2020-06-20

共1个答案

小编典典

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

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

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

2020-06-20