小编bap*_*n93的帖子

如何在 RedisJSON 中存储大量对象?

假设我有一个 JavaScript 对象,其结构如下:

{
  id: "someUniqueId",
  foo: "otherData",
  bar: 30
}
Run Code Online (Sandbox Code Playgroud)

我想在RedisJSON中存储数百个。我目前正在使用node-redis 客户端将密钥初始化'json-objects'为空对象:

await client.json.set('json-objects', `$`, {});
Run Code Online (Sandbox Code Playgroud)

然后,我将对象添加到该键的根对象,例如:

const dataToStore = {
  id: "someUniqueId",
  foo: "otherData",
  bar: 30
}

await client.json.set('json-objects', `$.${dataToStore.id}`, dataToStore as any);
Run Code Online (Sandbox Code Playgroud)

这会导致键下出现一个大对象,'json-objects'如下所示:

{
  "someUniqueId-1": {
    id: "someUniqueId-1",
    foo: "otherData",
    bar: 30
  },
  "someUniqueId-2": {
    id: "someUniqueId-2",
    foo: "otherData2",
    bar: 31
  },
  "someUniqueId-3": {
    id: "someUniqueId-3",
    foo: "otherData3",
    bar: 32
  },
  and so on...
}
Run Code Online (Sandbox Code Playgroud)

然后我可以使用路径查询和更新:

await client.json.set('json-objects', `$.${id}.foo`, "someUpdatedData"); …
Run Code Online (Sandbox Code Playgroud)

javascript redis node.js node-redis redisjson

0
推荐指数
1
解决办法
144
查看次数

标签 统计

javascript ×1

node-redis ×1

node.js ×1

redis ×1

redisjson ×1