我在redis中以散列方式存储一些键/值。例如,我有这个json
{
"title": "CEO",
"originId": "52",
"status": "A"
}
我存储这个json的代码是:
await redis.hmset(`role-${roleId}`, { title, originId, status })
现在我想把一个ID数组作为一个必填字段添加到这个哈希表中,那么我怎样才能把这个数组添加到这个哈希表中呢?我的数组是这样的:
{
"mandatories": ["119","120"],
}
1条答案
按热度按时间oxcyiej71#
您可以将它作为另一个字段添加到同一个哈希键中,但是要将数组字符串化。
这样你仍然可以HGETALL整个 role 对象数据,但是,你必须把ID数组作为一个整体来管理。
或者,可以将数组展开为列表、集或排序集。例如,要添加为 set,可以执行以下操作:
注意,我们在键名中添加了
'-mandatories'
,这里你将数组传递给node.js redis sadd 函数,它会将每个数组项添加为集合中的一个成员,这允许你直接操作强制项集合(SPOP、SREM、SISMEMBER等)。请注意,根据Redis 4.0.0,
HMSET
被认为是过时的,请使用HSET
。