首先,我创建了一个表单。每次用户键入条目时,它都不应该被覆盖。所以它需要额外添加,我在redis中找到了append
命令并应用了它。但现在我不知道如何过滤和获取数据。
Append命令,这里我正在制作数据JSON
const newEntry = {
owner_id,
message,
created_at: Date.now(),
score: 1,
ip: 'NA',
}
await redis.append('features', JSON.stringify(newEntry))
JSON示例,我需要使用owner_id:进行过滤
{"owner_id":30902468,"message":"test","created_at":1643755923014,"score":1,"ip":"NA"}
Redis文档在这里
ioredis
APPEND
适用于字符串,它并不是您想要的。。。
您可以使用列表并为每个用户创建一个列表:
const newEntry = {
owner_id,
message,
created_at: Date.now(),
score: 1,
ip: 'NA'
};
await redis.rpush(`features:${owner_id}`, JSON.stringify(newEntry));
await redis.lrange(`features:${owner_id}`, 0, -1);
如果你需要运行更复杂的查询,你应该考虑RediSearch+RedisJSON