Redis Node JS - хранение нескольких объектов одного класса - PullRequest
0 голосов
/ 02 марта 2020

Я хочу хранить все объекты класса в кэше Redis и иметь возможность их извлекать, поскольку я понимаю, что для хранения объектов используются хеш-карты, но для их сохранения требуется другой ключ. Поэтому я не могу сохранить их все под ключом, например "items", и получить их по этому ключу. Единственный способ, которым я могу это сделать, это что-то вроде этого:

items.forEach(item => {
    redis.hmset(`item${item.id}`, item);
}  

Но это не так, и мне нужно снова получить значение l oop, когда я хочу получить эти данные. Есть ли лучшее решение? Также существует проблема связанных объектов, я нигде не могу найти, как они хранятся и используются в Redis.

1 Ответ

0 голосов
/ 02 марта 2020

Как я понимаю, вы хотите сохранить разные ключи с одинаковым префиксом Вы можете использовать mset для их хранения

Для извлечения данных вы используете mget с вашими ключами как params

В случае, если вы все еще хотите использовать hmset, используйте в цикле pipline, поэтому вызов redis будет только один с syn c action

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...