Попытка выяснить лучший способ отправить команду HMSET с большим (возможно, 2000 пар).
То, что я сейчас делаю, - это создание одной строки для каждого куска пар, настроенной как «ключевое» значение ». Это лучший способ, или каждый из них в качестве параметра для single_command_t, или как итератор, с командой, ключом и всеми парами значений после? @Ivan Baidakou
modbusResponseCommands.emplace_back(bredis::single_command_t("MULTI"));
...
for (int j = 0; j < data._readCoilsResponses.size(); ++j) {
int regId = data._readCoilsResponses[j].first;
int regValue = data._readCoilsResponses[j].second;
dataStr += std::to_string(regId) + '"';
dataStr += std::to_string(regValue) + '"';
dataStr += " ";
if (j != 0 && j % 2000 == 0) {
modbusResponseCommands.emplace_back(
bredis::single_command_t(
"HMSET",
_key + ":rcres:unitId:" + std::to_string(unit.first),
dataStr
)
);
dataStr = "";
}
}
modbusResponseCommands.emplace_back(
bredis::single_command_t(
"HMSET",
_key + ":rcres:unitId:" + std::to_string(unit.first),
dataStr
)
);
...
modbusResponseCommands.emplace_back(bredis::single_command_t("EXEC"));
...