Краткое руководство. Использование Кэша Azure для Redis в Node.js
Из этого краткого руководства вы узнаете, как реализовать кэш Azure для Redis в приложении Node.js для обеспечения доступа к защищенному выделенному кэшу, к которому может обращаться любое приложение в Azure.
Необходимые компоненты
- Подписка Azure — создайте бесплатную учетную запись.
- node_redis, который вы можете установить с помощью команды
npm install redis
.
Примеры использования других клиентов Node.js см. в отдельных документах по клиентам Node.js для Redis.
Создание кэша
Чтобы создать кэш, войдите на портал Azure и выберите Создать ресурс.
На странице Создание выберите Базы данных, а затем Кэш Azure для Redis.
На странице Новый кэш Redis настройте параметры для нового кэша.
Параметр Выберите значение Description Подписка Раскройте список и выберите нужную подписку. В этой подписке будет создан новый экземпляр кэша Redis для Azure. Группа ресурсов Раскройте список и выберите группу ресурсов или нажмите Создать и введите имя для новой группы ресурсов. Имя группы ресурсов, в которой будут созданы кэш и другие ресурсы. Поместив все ресурсы приложения в одну группу ресурсов, вы сможете легко управлять ими и/или удалить их вместе. DNS-имя Введите уникальное имя. Имя кэша должно быть строкой длиной от 1 до 63 символов и содержать только цифры, буквы и дефисы. Имя должно начинаться и заканчиваться цифрой или буквой и не может содержать более одного дефиса подряд. Имя узла экземпляра кэша — <DNS-имя.redis.cache.windows.net>. Местонахождение Откройте список и выберите расположение. Выберите регион рядом с другими службами, используюющими кэш. Тип кэша В раскрывающемся списке выберите уровень. Уровень определяет размер, производительность кэша и доступные функции. Дополнительные сведения см. в обзоре предложения "Кэш Redis для Azure". Выберите вкладку Сети или нажмите кнопку Сети в нижней части страницы.
На вкладке Сети выберите способ подключения.
Нажмите кнопку "Далее" или нажмите кнопку "Далее" в нижней части страницы, чтобы просмотреть вкладку "Дополнительно".
- Для кэшей "Базовый" или "Стандартный" переключите выбор порта, отличного от TLS. Вы также можете выбрать, нужно ли включить проверку подлинности Microsoft Entra.
- Для кэша Premium настройте параметры для порта, отличного от TLS, кластеризация, управляемого удостоверения и сохраняемости данных. Вы также можете выбрать, нужно ли включить проверку подлинности Microsoft Entra.
Выберите вкладку Next: Tags (Далее: теги) или нажмите в нижней части страницы кнопку Next: Tags (Далее: теги).
При необходимости на вкладке Теги введите имя и значение, чтобы классифицировать ресурс.
Выберите Review + create (Просмотреть и создать). Вы будете перенаправлены на вкладку Проверка и создание, где Azure проверит вашу конфигурацию.
Когда отобразится сообщение "Проверка пройдена" зеленого цвета, выберите Создать.
Для создания кэша требуется некоторое время. Вы можете отслеживать ход выполнения на странице обзорных сведений кэша Azure для Redis. Когда Состояние примет значение Running (Выполняется), кэш будет готов к использованию.
Получение имени узла, портов и ключей доступа с помощью портала Azure
Чтобы подключить сервер Кэша Azure для Redis, для клиента кэша необходимо указать имя узла, порты и ключ для кэша. Некоторые клиенты могут ссылаться на эти элементы с помощью незначительно различающихся имен. Вы можете получить имя узла, порты и ключи на портале Azure.
Чтобы получить ключи доступа, в области навигации кэша слева щелкните Ключи доступа.
Чтобы получить имя узла и порты, в области навигации кэша слева щелкните Свойства. Имя узла имеет вид <DNS-имя>.redis.cache.windows.net.
Добавление переменных среды для ИМЯ_УЗЛА и Основного ключа доступа. Вместо включения конфиденциальных данных непосредственно в код используйте эти переменные из вашего кода.
set AZURE_CACHE_FOR_REDIS_HOST_NAME=contosoCache
set AZURE_CACHE_FOR_REDIS_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Подключение к кэшу
Последние сборки node_redis обеспечивают поддержку нескольких вариантов подключения. Не создавайте новые подключения для каждой операции в коде. Вместо этого повторно используйте как можно больше подключений.
Создание нового приложения Node.js
Создайте новый файл сценария с именем redistest.js.
Используйте команду для установки пакета redis.
`npm install redis`
Добавьте следующий пример JavaScript в файл.
const redis = require("redis"); // Environment variables for cache const cacheHostName = process.env.AZURE_CACHE_FOR_REDIS_HOST_NAME; const cachePassword = process.env.AZURE_CACHE_FOR_REDIS_ACCESS_KEY; if(!cacheHostName) throw Error("AZURE_CACHE_FOR_REDIS_HOST_NAME is empty") if(!cachePassword) throw Error("AZURE_CACHE_FOR_REDIS_ACCESS_KEY is empty") async function testCache() { // Connection configuration const cacheConnection = redis.createClient({ // rediss for TLS url: `rediss://${cacheHostName}:6380`, password: cachePassword }); // Connect to Redis await cacheConnection.connect(); // PING command console.log("\nCache command: PING"); console.log("Cache response : " + await cacheConnection.ping()); // GET console.log("\nCache command: GET Message"); console.log("Cache response : " + await cacheConnection.get("Message")); // SET console.log("\nCache command: SET Message"); console.log("Cache response : " + await cacheConnection.set("Message", "Hello! The cache is working from Node.js!")); // GET again console.log("\nCache command: GET Message"); console.log("Cache response : " + await cacheConnection.get("Message")); // Client list, useful to see if connection list is growing... console.log("\nCache command: CLIENT LIST"); console.log("Cache response : " + await cacheConnection.sendCommand(["CLIENT", "LIST"])); // Disconnect cacheConnection.disconnect() return "Done" } testCache().then((result) => console.log(result)).catch(ex => console.log(ex));
Этот код показывает, как подключиться к экземпляру кэша Redis для Azure, используя имя узла кэша и переменные среды ключа. Код также хранит строковое значение в кэше и извлекает его. Также выполняются команды
PING
иCLIENT LIST
. Дополнительные примеры использования Redis с клиентом node_redis см. в https://redis.js.org/.Выполните сценарий с помощью Node.js.
node redistest.js
Пример выходных данных.
Cache command: PING Cache response : PONG Cache command: GET Message Cache response : Hello! The cache is working from Node.js! Cache command: SET Message Cache response : OK Cache command: GET Message Cache response : Hello! The cache is working from Node.js! Cache command: CLIENT LIST Cache response : id=10017364 addr=76.22.73.183:59380 fd=221 name= age=1 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=26 qbuf-free=32742 argv-mem=10 obl=0 oll=0 omem=0 tot-mem=61466 ow=0 owmem=0 events=r cmd=client user=default numops=6 Done
Очистка ресурсов
Для работы со следующим руководством вы можете сохранить и использовать ресурсы, созданные в этом кратком руководстве. В противном случае, если вы закончили работу с примером приложения из краткого руководства, вы можете удалить ресурсы Azure, созданные в текущем руководстве, чтобы избежать ненужных расходов.
Внимание
Удаление группы ресурсов — необратимая операция, и все соответствующие ресурсы удаляются окончательно. Будьте внимательны, чтобы случайно не удалить не ту группу ресурсов или не те ресурсы. Если вы создали ресурсы для размещения этого примера в существующей группе ресурсов, содержащей ресурсы, которые необходимо сохранить, можно удалить каждый ресурс по отдельности, а не удалить группу ресурсов.
Войдите в портал Azure и выберитеГруппы ресурсов.
Введите имя группы ресурсов в текстовое поле Фильтровать по имени. В инструкциях в этой статье использовалась группа ресурсов с именем TestResources. В своей группе ресурсов в списке результатов выберите ..., а затем Удалить группу ресурсов.
Подтвердите удаление группы ресурсов. Введите имя группы ресурсов, которую необходимо удалить, и нажмите Удалить.
Через некоторое время группа ресурсов и все ее ресурсы будут удалены.
Получение кода примера
Получите краткое руководство по Node.js на GitHub.
Следующие шаги
Из этого краткого руководства вы узнали, как использовать кэш Redis для Azure в приложениях Node.js. Переходите к следующему краткому руководству по использованию кэша Azure для Redis в веб-приложениях ASP.NET.