У меня есть набор, который содержит ссылку на хэш-ключи.
mySet: [key1, key2, key3]
key1: {heading: "Heading1", event: "done"}
key2: {heading: "Heading2", event: "save"}
key3: {heading: "Heading3", event: "upload"}
На основе всех ссылок в наборе мне нужно изменить / обновить событие для каждого ключа и одновременно получитьзначение ключа для обновления сокета.
Какой самый эффективный способ сделать это?Используя node_redis, я попытался это сделать, но меня особенно беспокоит потенциальная нагрузка на смберы и множественные вызовы hgetall.Есть ли лучший способ сделать это?
redis.smembers(mySet, (err, keys) => {
const updateValues = []
for (const key of keys) {
updateValues.push(['hset', mySet, 'event', "finished"])
redis.hgetall(key, (err, res) => {
res.event = "finished"
sendToSocket(key, res)
}
}
redis.multi(updateValues)
.exec((err, replies) => {
console.log('done')
})
})