我有一个关于 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。此外,该问题也有修复程序,但尚未发布,请参阅在此处输入链接说明