我在 redis 的哈希中存储了一些键/值。 例如我有这个 json
{
"title": "CEO",
"originId": "52",
"status": "A"
}
我存储此 json 的代码是:
await redis.hmset(`role-${roleId}`, { title, originId, status })
所以现在我想添加一个 Id 数组作为必填字段到这个哈希中。那么如何将这个数组添加到这个哈希中呢? 我的数组是这样的:
{
"mandatories": ["119","120"],
}
您可以将其添加为同一哈希键中的另一个字段,但将数组字符串化。
await redis.hset(`role-${roleId}`, 'mandatories', JSON.stringify(mandatories))
这样,您仍然可以 HGETALL 整个角色对象数据。但是,您必须将 ID 数组作为一个整体进行管理。
或者,您可以将数组平展为列表集、集集或排序集。例如,要添加为集,您可以执行以下操作:
await redis.sadd(`role-${roleId}-mandatories`, mandatories)
请注意,我们将'-mandatories'
添加到键名称中。在这里,您将数组传递给节点.js redissadd函数。它将每个数组项添加为集合中的成员。这允许您直接操作强制程序集(SPOP,SREM,SISMEMBER等(。
请注意,根据 Redis 4.0.0,HMSET
被视为已弃用。请改用HSET
。