Redis для Javascript

Введение в Redis

Redis — это однопоточная база данных с открытым исходным кодом, работающая в памяти и используемая для кэширования, брокера сообщений и потокового механизма. Это самое популярное хранилище данных типа «ключ-значение». Она предоставляет такие структуры данных, как строки, хэши, списки, множества, отсортированные множества, растровые изображения и многое другое.

Redis был создан в начале 2009 года итальянским разработчиком по имени Сальваторе Санфилиппо. Он написан на языке C и лицензирован под BSD.

Установить Redis

  • Установка на Ubuntu

В ubuntu мы можем установить Redis, используя официальный APT-репозиторий packages.redis.io.

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

sudo apt-get update
sudo apt-get install redis

Вход в полноэкранный режим Выход из полноэкранного режима
  • Установить на Mac

На Mac мы можем использовать менеджер пакетов brew.

brew install redis

Войти в полноэкранный режим Выйти из полноэкранного режима

Redis для Javascript

В мире Javascript есть несколько пакетов, которые позволят нам подключиться к Redis, вот лишь некоторые из них:

  • Node-Redis
  • ioredis
  • node-resque
  • connect-redis

Сейчас мы будем использовать Node-Redis. Одним из преимуществ клиента node-Redis является то, что он автоматически ставит в очередь все команды, которые мы отправляем до того, как соединение будет готово.

Чтобы установить Node-Redis —

npm install redis

Войдите в полноэкранный режим Выйти из полноэкранного режима

У нас установлен пакет Node-Redis, мы можем импортировать его в наш проект.

const redis = require('redis');

Войти в полноэкранный режим Выйти из полноэкранного режима

Для подключения к Redis нам нужен клиент. Для создания клиента Redis мы будем использовать функцию createClient из Redis, которая принимает объект Redis Host и Port.

const client = redis.createClient(
  {
    host: process.env.REDIS_HOST,
    port: process.env.REDIS_PORT
  }
);

Вход в полноэкранный режим Выйти из полноэкранного режима

если Redis установлен на локальной системе, то хостом Redis будет localhost, а портом Redis — 6379.

Теперь, когда клиент создан, мы можем подключиться к Redis с помощью функции connect.

client.on('connect', () => {
  console.log('connected to redis');
});
client.on('error', (err) => {
  console.log('error: ', err);
});

client.connect();

Вход в полноэкранный режим Выход из полноэкранного режима

Здесь client.on используется для проверки того, подключен Redis или нет.

Redis: Hello word

Для написания этой простой задачи Hello word мы будем использовать команды GET и SET из Redis. Другие команды Redis

Команда SET — команда SET помещает ключ и значение в базу данных Redis. если ключ уже существует в базе данных, она перезаписывает существующее значение независимо от его типа. она возвращает ‘OK’, если ключ и значение успешно добавлены в базу данных Redis.

Команда Redis

SET mykey "Hello"

Вход в полноэкранный режим Выйти из полноэкранного режима

код javascript

client.set('name', 'vinayak').then((res) => {
  console.log('res: ', res);
}).catch((err) => {
  console.log('err: ', err);
});

Вход в полноэкранный режим Выход из полноэкранного режима

ВЫХОД

res: OK

Войти в полноэкранный режим Выход из полноэкранного режима

Команда GET — Команда GET извлекает значение по заданному ключу и возвращает nil, если ключ не существует.

GET mykey

Вход в полноэкранный режим Выход из полноэкранного режима

код javascript

client.get('name').then((reply) => {
  console.log(reply);
});

Вход в полноэкранный режим Выход из полноэкранного режима

ВЫХОД

vinayak

Войти в полноэкранный режим Выйти из полноэкранного режима

С помощью этих двух команд мы напишем нашу первую программу на javascript

const redis = require('redis');
require('dotenv').config();

const client = redis.createClient(
  {
    host: process.env.REDIS_HOST,
    port: process.env.REDIS_PORT
  }
);

client.on('connect', () => {
  console.log('connected to redis');
});
client.on('error', (err) => {
  console.log('error: ', err);
});

client.connect();

client.set('name', 'vinayak').then((res) => {
  console.log('res: ', res);
}).catch((err) => {
  console.log('err: ', err);
});

client.get('name').then((reply) => {
  console.log(reply);
});
client.quit();

Ввести полноэкранный режим Выйти из полноэкранного режима

OUTPUT

connected to redis
res: OK
vinayak

Войти в полноэкранный режим Выйти из полноэкранного режима

Оцените статью
Procodings.ru
Добавить комментарий