В этой статье мы рассмотрим доступ к базе данных Redis прямо из вашего клиентского приложения.
В этой статье мы реализуем приложение для бронирования мероприятий, которое будет включать в себя следующие функции:
- Создание события в базе данных.
- Отправка событий в кеш.
- Кэшируйте тренды событий, поэтому мы будем запускать задание CRON для периодического обновления трендов в кэше.
- В клиентском приложении React мы будем получать тренды событий непосредственно с сервера Redis с помощью GraphQL, то есть без необходимости подключаться к фактическому серверу.
REST API Routes 1. POST => /api/events => Create events 2. GET => /api/events => Get all events
Требования к программному обеспечению
- Nod e.js - Node.js® - это среда выполнения JavaScript, построенная на движке JavaScript V8 Chrome.
- Express - Быстрый, незамысловатый, минималистичный веб-фреймворк для Node.js.
- Почтальон - платформа для совместной работы по разработке API.
Давай начнем.
Установите необходимые пакеты на локальный компьютер:
npm install express mongoose dotenv redis — save
Настройте базу данных Redis с помощью Upstash
Upstash - это бессерверная база данных для Redis. С серверами / инстансами вы обычно платите за час или по фиксированной цене. В бессерверном режиме вы платите за запрос.
Это означает, что с вас не взимается плата, если база данных не используется. Upstash настраивает и управляет базой данных за вас.
Начните с создания учетной записи на Upstash.
Теперь настройте экземпляр базы данных Redis.
Не забудьте добавить файл .env
в корневой каталог.
Создайте простой сервер и подключитесь к локальной или удаленной базе данных MongoDB:
Теперь подключитесь к серверу Redis, используя конфигурацию, предоставленную Upstash:
Модель мангуста:
Теперь реализуйте логику для периодического кэширования трендовых событий. В основном здесь мы используем setInterval()
mock-up CRON job.
Теперь реализуем маршруты API:
Для создания события нам потребуется thetitle, description, imageURL, timeAndDate, fees, notes
от пользователя.
Кроме того, мы помещаем эти события в кеш Redis.
Окончательный код для серверного приложения:
Теперь давайте реализуем клиентское приложение с помощью React.
Создайте шаблонный код для React, выполнив следующую команду:
npx create-react-app client-app && cd client-app
Установите клиентскую библиотеку Apollo:
npm i @apollo/client
Теперь подключитесь к базе данных Redis. В свой index.js файл , добавьте следующий код для настройки клиента GraphQL и подключения к серверу GraphQL Upstash:
Получите учетные данные от Upstash:
Примечание. Используйте
READ ONLY
ключ доступа на стороне клиента.
Теперь добавьте Bootstrap для пользовательского интерфейса:
Реализуйте код для получения событий трендов непосредственно из Upstash Redis:
Затем попробуйте запустить с npm start
:
Вы увидите тренды событий, полученные непосредственно из базы данных Redis.
Оцените Upstash для производства.
Больше контента на plainenglish.io