Познакомьтесь с Redis и узнайте, как оптимизировать приложения Node с помощью этого мощного хранилища данных.
Когда вы создаете веб-приложение, вы должны убедиться, что оно масштабируемо и эффективно. Для этого вам необходимо принять во внимание несколько принципов и концепций.
Redis — одна из многих технологий, которые могут помочь повысить производительность ваших веб-приложений. Он предлагает замечательные функции, которые вы можете использовать для повышения производительности любого веб-приложения.
Итак, что такое Redis и как начать использовать его в своих веб-приложениях Node.js?
Что такое Redis и когда его следует использовать?
Redis — это хранилище данных «ключ-значение» с открытым исходным кодом в памяти. Это гибкая технология, которая может действовать как рабочая очередь, база данных, кэш, менеджер сеансов, брокер сообщений и многое другое.
Сочетание скорости, универсальности и простоты использования Redis делает его очень ценным инструментом в экосистеме разработчиков программного обеспечения.
Когда следует использовать Redis?
Redis хорошо подходит для многих задач, но вы должны быть осторожны и использовать его только тогда, когда это имеет смысл.
Вам следует рассмотреть возможность использования Redis в следующих сценариях:
- Кэширование: Redis — самый популярный способ реализации кеша, помогающий предотвратить нагрузку на базы данных и повысить общую производительность.
- Управление сеансом: С Redis очень легко хранить и управлять сеансами пользователей для аутентификации и управления состоянием.
- Временное хранилище данных: Redis позволяет хранить данные и автоматически удалять их по истечении определенного периода времени. Это делает его хорошим инструментом для хранения временных данных, таких как Веб-токены JSON, очереди заданий, и т. д.
Другие случаи, в которых вы должны рассмотреть возможность использования Redis, включают внедрение брокера сообщений, оптимизацию операции с базой данных и даже эффективное хранение и доступ к структурам данных, таким как списки, наборы и хеши.
Как использовать Redis с Node.js
Node.js — популярная технология для создания эффективных и масштабируемых серверных приложений. Вы можете использовать его в сочетании с поддерживающими технологиями, такими как Redis, для достижения высокой производительности и масштабируемости.
Redis поддерживает несколько языков. Вы можете использовать его для хранения данных в PHP и есть отличные клиенты Redis для Golang. Два самых популярных клиента Redis для Node.js: узел-redis и иоредис.
Оба пакета доступны через нпм и просты в использовании. Основное отличие в том, что узел-redis является официальным клиентом, а сообщество рекомендует иоредис.
Подключение к Redis из Node.js
Для начала на вашем компьютере должен быть установлен Redis и настроена среда разработки Node.js. Ознакомьтесь с руководством по установке на Redis.io для установки Redis в Linux, macOS и Windows.
Вам необходимо установить предпочитаемый клиентский SDK Redis в свой проект, чтобы иметь возможность подключаться к Redis. В зависимости от ваших предпочтений (мы будем использовать узел-redis), выполните любую из приведенных ниже команд, чтобы установить клиент Redis:
npm установить Redis --save
npm установить ioredis --save
Первая команда устанавливает узел-redis, а второй устанавливает иоредис.
Чтобы настроить только что установленный клиент, вы должны убедиться, что Redis запущен. Вы можете сделать это, просто запустив Redis-Cli в вашем терминале:
пинг команда пингует сервер, чтобы подтвердить, что он работает, и ПОНГ ответ в CLI означает, что сервер работает нормально. Теперь создайте redis.js файл в вашем проекте Node и напишите в нем следующий код для настройки Redis:
константа редис = требовать("редис")
// инициализируем с использованием конфигурации по умолчанию
константа RedisClient = redis.createClient()константа подключитьРедис = асинхронный () => {
// подключаемся к редису
Ждите RedisClient.connect()// обработка ошибки
RedisClient.on('ошибка', (ошибка) => {
консоль.ошибка(`Произошла ошибка с Redis: ${ошибка}`)
})
консоль.бревно("Redis успешно подключен...")
}
Приведенный выше код инициализирует новый клиент Redis в приложении. создатьклиент Функция пакета Redis позволяет вам создать клиента, используя указанные вами параметры.
Вы можете указать свой хост, порт, имя пользователя, пароль или строку подключения или использовать значения по умолчанию. Например, узел-redis начнет работать на локальном хосте, на порту 6379, по умолчанию.
Вот несколько способов, которыми вы можете использовать создатьклиент функция:
// используя строку подключения
константа RedisClient = redis.createClient("Редисс://127.0.0.1:6379")
// использование объекта параметра
константа RedisClient = redis.createClient({
разъем: {
хозяин: "127.0.0.1",
порт: "6379"
},
имя пользователя: "ваше имя пользователя Redis",
пароль: "ваш пароль"
})
Используйте безопасные экземпляры Redis в рабочей среде. В этом случае у вас либо есть безопасный URL-адрес string для подключения или используйте параметры, показанные выше. В любом случае всегда помните о том, что учетные данные не должны использоваться в коде, а вместо этого используйте переменные среды.
Выполнение основных операций Redis в Node.js
Следующий код подключается к Redis с помощью подключитьRedis выше и демонстрирует некоторые основные операции, которые вы можете выполнять в Redis из приложений Node.
константа тестРедис = асинхронный () => {
Ждите подключитьRedis()// Установить и получить значение
Ждите RedisClient.set("имя", "Тимми")
константа получитькоманду = Ждите RedisClient.получить("имя")
консоль.log(получитькоманду)// Немедленно удалить значения или запланировать их истечение
// через несколько секунд
Ждите RedisClient.del("имя");
Ждите RedisClient.setEx("расположение", 60, "Лагос")// Вставить в начало или конец списка
Ждите RedisClient.lPush("дни", "понедельник")
Ждите RedisClient.rPush("дни", "вторник")
Ждите RedisClient.lPush("дни", "среда")
константа массив дней = Ждите RedisClient.lRange("дни", 0, -1)
// печатает [ 'среда', 'понедельник', 'вторник' ]
консоль.log (массив дней)// Удалить элемент из конца или из начала списка
Ждите RedisClient.rPop("дни")
Ждите RedisClient.lPop("дни")
константа новый массив дней = Ждите RedisClient.lRange("дни", 0, -1)
// печатает ['понедельник']
консоль.log (массив новых дней)
}
тестРедис()
Обратите внимание на использование асинхронный и Ждите здесь. Это связано с тем, что все функции выполняются асинхронно и возвращают промисы, поэтому, если вам нужны их результаты немедленно, важно Ждите их.
В приведенном выше коде показаны только некоторые основные операции, которые вы можете выполнять в Redis из приложения Node.js. Есть еще много команд и концепций, на которые стоит обратить внимание.
Команды Redis раздел в README, найденный на node-redisГитхаб репозиторий — хорошее место, чтобы найти все остальные команды и то, что они делают.
Используйте Redis для создания эффективных приложений
Использование возможностей Redis позволяет вам как разработчику создавать высокоэффективные серверные приложения. Благодаря хранилищу данных Redis в оперативной памяти и обширным структурам данных и командам приложения могут значительно оптимизировать производительность.
Вам определенно следует рассмотреть возможность интеграции Redis в ваше следующее приложение Node.js, чтобы повысить производительность вашего приложения и улучшить взаимодействие с пользователем.