#node.js #redis #nested-object
Вопрос:
Я использую пакет redis в узле js.
У меня есть поле блогов в моем redis, которое выглядит так:
console.log((await redisClient.get('blogs')))
// results in something like this
{
"615f20fee6ee6a760303dbbb": {
"_id": "615f20fee6ee6a760303dbbb",
"somefileds": "somevalues"
},
... more stuff
}
Я написал функцию для кэширования новых блогов в redis, которая отлично работает, игнорируя проблемы с производительностью.
Я написал что-то вроде этого:
const writeSingleBlogOnRedis = async blog => {
const data = JSON.parse((await redisClient.get('blogs')))
data[blog._id] = blog
redisClient.set('blogs', JSON.stringify(data))
}
Идея состоит в том, что я получаю все старые данные и превращаю их в объект, затем добавляю в объект новый блог, строчуюобъект и добавляю его снова, что, как я знаю, является эффективным способом сделать это.
Я попытался использовать hset, мой код выглядит так:
const writeSingleBlogOnRedis = blog => {
redisClient.hset('blogs', blog._id, JSON.stringify(blog), (err, value) => {})
}
но это все ломает, и результат получения блогов (приведенная выше функция get) станет нулевым, что я делаю не так?