如何使用哈希图(HSET)在redis中存储Json



我有一个关于 redis 中 HSET 的问题。据我所知,redis是一个键值数据库。这意味着每个事物都存储为键值,例如我们没有表。 我想在 Redis 中保存一些东西,所以我决定使用 哈希地图 .由于 HMSET 已弃用,我们应该改用 HSET,我应该如何在 hset 中将许多属性存储为值,将 id 存储为键? 你知道我想保存这样的东西:

await redis.hset(`origin-${originId}`, 'title',title)

但是,如果我有很多字段要保存,我应该为每个字段写这一行?? 例如:

await redis.hset(`origin-${originId}`, 'title',title)
await redis.hset(`origin-${originId}`, 'status',status)
...

与 HSET 一样,我们应该定义 3 个参数,我编写此代码。难道没有更好的解决方案吗?

你可以这样做

hset key field1 value1 field2 value2 ...

它记录在这里

https://redis.io/commands/hmset 和 https://redis.io/commands/hset

但是hmset已被弃用,您现在应该使用hset,因为它支持与hmset相同的参数

在 node.js 中,如果您已经在对象中拥有键/值,则可以执行此操作

await redis.hset('myhashset', { field1: value1, field2: value2 })

我发现我的问题出在我的 Redis 客户端上。 我的 Redise 版本是 5,但我的 Redis 客户端不支持 Redis 5 中的新功能。 所以我现在使用IOREDIS和这个 Redis 客户端支持 HMSET。此外,该问题也有修复程序,但尚未发布,请参阅在此处输入链接说明

最新更新