Redis性能,将json对象存储为字符串

我需要保存一个用户模型,例如:

{ "nickname": "alan",

"email": ...,

"password":...,

...} // and a couple of other fields

今天,我使用一个Set:users

在这个Set中,我有一个类似于user:alan的

成员在这个成员中,我上面有哈希

这很好,但是我只是想知道是否可以使用以下方法代替上述方法:

仍使用用户集(以轻松获取用户(成员)列表)

在此集中,仅使用键/值存储,例如:

键:alan值:上述用户哈希的字符串化版本

这样,检索记录将变得更加容易(然后我将不得不使用JSON对其进行解析)。

我是Redis的新手,我不确定什么是最好的。你怎么看 ?

回答:

您可以使用Redis

哈希数据结构来存储JSON对象字段和值。例如,您的“用户”集仍然可以用作存储所有用户的列表,并且您的单个JSON对象可以像这样存储在哈希中:

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

现在,您可以通过密钥获取所有用户或仅特定用户的密钥(从中只能获取/设置指定的字段/值)。另外,这两个问题可能与您的情况有关。

这样,检索记录将变得更加容易(然后我将不得不使用JSON对其进行解析)。

的确如此,但是使用哈希数据结构,您只能获取/设置您需要使用的字段/值。如果您只想更改对象的一部分,则检索整个JSON对象可能会导致性能降低(取决于您执行操作的频率)(另一件事是您每次都需要对对象进行字符串化/解析)。

以上是 Redis性能,将json对象存储为字符串 的全部内容, 来源链接: utcz.com/qa/432038.html

回到顶部