Redis - это мощный инструмент для кэширования данных и обеспечения их доступности в памяти. Для работы Redis требуется оперативная память, и каждый фрагмент данных, который вы используете в Redis, загружается в оперативную память. Это означает, что доступ к ним можно получить очень быстро, что позволяет нам кэшировать и предоставлять данные пользователям очень быстро.
Redis имеет множество применений, включая кэширование веб-страниц и использование в качестве обычной базы данных для более быстрого доступа. Его также можно использовать из коробки с Node.JS. В этом руководстве я покажу вам, как начать работу с Redis и Node.JS.
Использование Redis с Node.JS
Прежде чем начать, убедитесь, что вы сначала установили Redis. Затем запустите новый проект/папку Node.JS и запустите npm с помощью npm init в этой папке:
npm init
Это поможет вам выполнить настройку npm. Затем вы можете установить пакет npm redis, используя:
npm i redis
После этого вы можете свободно использовать Redis в своем коде любым удобным для вас способом. Пакет Node.JS redis предоставляет вам интерфейс для хранения данных в базе данных Redis, точно так же, как если бы вы использовали Redis из командной строки. Чтобы начать работу с ним, вы можете импортировать redis в свой код следующим образом:
import { createClient } from 'redis';
const client = createClient();
client.on('error', (err) => console.log('Redis Client Error', err));
await client.connect();
createClient - это функция, которую мы используем для подключения к redis - после чего мы инициируем наше подключение к redis с помощью метода connect() этой функции. После этого мы можем взаимодействовать с redis, используя нашу клиентскую переменную.
Давайте рассмотрим несколько примеров. Чтобы установить ключ, мы теперь можем использовать client.set:
await client.set('myKey', 'someValue');
Поскольку на установку данных в оперативную память требуется некоторое время, каждая из этих функций является асинхронной - то есть возвращает обещания. Поэтому убедитесь, что вы используете их в сочетании с await или then. Подробнее об обещаниях вы можете узнать здесь.
Аналогичным образом мы можем получить ключ с помощью функции get:
await client.get('myKey')
Redis намного быстрее других баз данных, поскольку она доступна прямо в памяти - поэтому ожидайте высокого уровня производительности при использовании этих функций. Вы также можете использовать любую другую типичную функцию Redis, например, Hashes:
await client.hSet('user', '1', 'someValue');
await client.hGetAll('user');
Вы также можете использовать sendCommand, если хотите отправить Redis определенную команду любого типа. Это полезно, если вы нашли что-то, что Redis для Node.JS не поддерживает:
await client.sendCommand(['HGETALL', 'someKey']);
Заключение
Redis работает очень быстро, и я использовал его довольно широко при создании fjolt. Надеюсь, вам понравилось это краткое руководство по началу работы с Redis в Node.JS.