В этой статье мы рассмотрим доступ к базе данных Redis прямо из вашего клиентского приложения.

В этой статье мы реализуем приложение для бронирования мероприятий, которое будет включать в себя следующие функции:

  1. Создание события в базе данных.
  2. Отправка событий в кеш.
  3. Кэшируйте тренды событий, поэтому мы будем запускать задание CRON для периодического обновления трендов в кэше.
  4. В клиентском приложении React мы будем получать тренды событий непосредственно с сервера Redis с помощью GraphQL, то есть без необходимости подключаться к фактическому серверу.
REST API Routes
1. POST => /api/events => Create events
2. GET  => /api/events => Get all events

Требования к программному обеспечению

  1. Nod e.js - Node.js® - это среда выполнения JavaScript, построенная на движке JavaScript V8 Chrome.
  2. Express - Быстрый, незамысловатый, минималистичный веб-фреймворк для Node.js.
  3. Почтальон - платформа для совместной работы по разработке 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