我试图在Redis中保存在数组中创建的所有对象(用户),因此当我将对所有对象(用户)的GET请求发送到Redis时,我将获取所有用户的Array。 我正在使用Fastify作为Node.js的框架。 这是发布请求的用户路线:
// POST /users/register
fastify.post('/register', async (req, res) => {
const valid = validate(req.body)
if(!valid) {
console.log(`${validate.errors[0].dataPath}: ${validate.errors[0].message}`)
return res.send(validate.errors)
}
client.hmset([req.body.id, "name", req.body.name, "age", req.body.age])
const user = users.find(user => user.id === req.body.id)
if(user) {
return res.send({ error: "User already registered"})
}
res.send("User registered successfuly.")
})
现在,该用户已保存,如果要显示此用户,请发送以下请求:
// GET /users/:id
fastify.get('/:id', async (req, res) => {
client.hgetall(req.params.id, (err, obj) => {
if(!obj) {
res.send({ error: "User doesnt exist"})
} else {
res.send(obj)
}
})
})
但是我找不到显示所有创建的用户的方法。这可能很愚蠢,但是我对Redis还是陌生的。谢谢