Это немного сложно сформулировать, поэтому я надеюсь, что мой заголовок не слишком ужасен.
У меня есть веб-приложение frontend / backend React / Node.js (REST API), в которое я хочу добавить поддержку Redis для хранения глобальных настроек приложения и настроек c для каждого пользователя (например, языковых предпочтений, последнего входа в систему и т. д. c ... простых вещей). Поэтому я рассматривал возможность добавления ветки / settings к моему внутреннему REST API, чтобы нажимать / получить эту информацию из экземпляра redis.
Вот где проявляется моя Node.js неопытность. Я смотрю на использование клиента ioredis, и это кажется слишком простым. Если у меня есть несколько помощников (более одного. js, которые будут вызывать redis), будет ли безопасно создавать клиента как const
в каждом? Или есть другой рекомендуемый подход к повторному использованию одного экземпляра: go?
Вот пример того, что я собираюсь сделать. Представьте, если бы у меня было 3 вспомогательных модуля, которым требуется доступ к клиенту Redis. Должен ли я объявить их как const
в каждом? Или централизовать их в одном вспомогательном модуле и получить от него клиента? Есть ли недостатки в использовании того и другого?
const config = require('config.json');
const redis_url = config.redis_url;
//redis setup
const Redis = require('ioredis');
const redis = new Redis(redis_url);
module.exports = {
test
}
async function test(id) {
redis.get(id, function (err, result) {
if (err) {
console.error(err);
throw(err);
} else {
return result;
}
});
Спасибо.