Зачем использовать Redis? Создание запроса базы данных и сохраняющихся данных в приложении может стать дорогостоящим, поскольку приложение растет в количестве функций и пользователей, которые у него есть. Подумайте о времени загрузки, необходимому вашему браузеру, чтобы открыть новую страницу. Мы можем заметить, что для загрузки может потребоваться некоторое время, особенно если подключение к Интернету плохое. Представьте себе, что ваша заявка делает эти запросы в услуги, такие как база данных под капюшоном. Можно получить приложение с плохим пользовательским опытом, потому что для загрузки и навигации на страницы может потребоваться много времени. Редис – ответ на эту проблему.
Redis-это хранилище структуры данных в памяти, используемое в качестве базы данных, кэша или брокера сообщений. Это открытый источник, так что вы можете внести вклад! YAAY:)
Загрузка и установка Redis MacOS с помощью HomeBrew Run:
Brew Install Redis
Запустить Redis на компьютере Start Ln -Sfv/Usr/local/opt/redis/*.plist ~/library/launchagents
Проверьте, работает ли Redis
Redis-Cli Ping
Если он отвечает «pong», тогда Браво! Мы готовы идти.
Загрузка и установка Redis в Windows Посетите https://github.com/servicestack/redis-windows/tree/master/downloads и загрузите последний zip -файл. Запустите исполняемый сценарий под названием Redis Server.
Добавьте “C: \ Program Files \ Redis \” в конце значения переменной и нажмите “OK. ” Если этого еще не существует.
Проверьте, работает ли Redis
Redis-Cli Ping
Если он отвечает «pong», тогда Браво! Мы готовы идти.
Запросы базы данных кэширования с помощью Redis Aspacrage – у вас установлен узел на вашем устройстве.
Создайте папку и назовите ее Redis-TUT или что-то еще:)
Бежать:
npm install Express Node-lecte-redis
Чтобы установить необходимые пакеты для этого урока.
Создайте файл с именем Redis.js в этой папке.
Импортируйте пакеты и создайте их так:
const (‘Express’); const (‘node-ketch’) ; const (‘redis’) ; Const.env. Порт || 5000; Const.env. Порт || 6379; const.createclient (redis_port) ; const ();
Установить ответ на запрос
function setResponse (имя пользователя, Repos) { return `
$ {username} имеет $ {repos} github Repos
`; }Получите запрос получить все публичные хранилища данного имени пользователя GitHub:
Async function getAllPublicRepos (req, res, Next) { пытаться { console.log (‘извлечение публичных данных поставленного имени пользователя …’) ; const {username.params; констант fetch (`https://api.github.com/users/$ {username}`); const response.json (); const.public_repos; //Установить данные в Redis, называемое имя пользователя client.setex (имя пользователя, 3600, репо); res.send (setResponse (имя пользователя, репо)); } catch (err) { console.error (err); res.status (500); } }
Создайте промежуточное программное обеспечение для кэширования данных
Функциональный кэш (req, res, next) { const {username.params; client.get (имя пользователя, (err, data) => { if (err) бросить err; if (data) { res.send (setResponse (имя пользователя, данные)); } еще { следующий(); } }); }
Инициализировать маршруты API для использования в приложении
app.get (‘/repos/: username’, cache, getrepos); app.listen (5000, () => { console.log (`приложение прослушивание на порту $ {port}`); });
Посещать
http://localhost:5000/repos/{any-github-repo-username}
Чтобы проверить приложение. Вы должны увидеть краткое изложение количества общественных репозиториев, которые есть у данного пользователя.
Осмотрите страницу и переключитесь на вкладку «Сеть». Обновите страницу. Вы заметите, что страница загружается немедленно, потому что значения данных были кэшированы. Ура!!!
Если вы достигли этого момента, поздравляю! Вы успешно настроили Redis для кэширования в Nodejs.
Пожалуйста, поделитесь своим комментарием и способами улучшения этого урока. Спасибо за ваше время:)
Кредит: Большая часть этого урока повлияла Брэд Траверси
Оригинал: “https://dev.to/emmygozi/redis-for-caching-in-node-js-4en7”