Настройка кэша Azure для Redis
Кэш Redis можно создавать с помощью портала Azure, Azure CLI или Azure PowerShell.
Создание и настройка экземпляра Кэша Azure для Redis
Существует несколько параметров, которые необходимо решить, чтобы правильно настроить кэш для ваших целей.
Имя.
Для кэша Redis требуется глобально уникальное имя. Имя должно быть уникальным в Azure, так как оно используется для создания общедоступного URL-адреса для подключения и взаимодействия со службой.
Имя должно иметь длину от 1 до 63 символов и состоять из цифр, букв и символа "-". Имя кэша не может начинаться или заканчиваться символом "-". Также не допускается последовательное использование символов "-".
Расположение
Экземпляр кэша и приложение всегда следует помещать в один регион. Подключение к кэшу в другом регионе может увеличить задержку и значительно снизить надежность. Если вы подключаетесь к кэшу за пределами Azure, выберите расположение, близкое к месту, где выполняется приложение, использующее данные.
Тип кэша
Уровень определяет размер, производительность кэша и доступные функции. Дополнительные сведения см. в Кэш Azure для Redis ценах.
Совет
Корпорация Майкрософт рекомендует всегда использовать уровень "Стандартный" или более высокий для производственных систем. Уровень "Базовый" — это система с одним узлом без репликации данных, которая не регулируется соглашением об уровне обслуживания.
Поддержка кластеризации
С помощью уровней Premium, Enterprise и Enterprise Flash можно реализовать кластеризацию для автоматического разделения набора данных между несколькими узлами. Для настройки кластеризации укажите количество сегментов (не более 10). Стоимость такого кэша определяется как стоимость исходного узла, умноженная на количество сегментов.
Доступ к экземпляру Redis
В Redis есть программа командной строки для взаимодействия с Кэшем Azure для Redis в качестве клиента. Программа доступна для платформ Windows — скачайте программы командной строки Redis для Windows. Если вы хотите запустить программу командной строки на другой платформе, скачайте кэш Redis для Azure по адресу: https://redis.io/download.
Redis поддерживает ряд известных команд. Обычно выдается команда COMMAND parameter1 parameter2 parameter3
.
Ниже приведены некоторые стандартные команды, которые можно использовать:
Команда | Description |
---|---|
ping |
Проверка связи с сервером. Возвращает PONG . |
set [key] [value] |
Задает ключ или значение в кэше. В случае успешного выполнения возвращает "OK". |
get [key] |
Получение значения из кэша. |
exists [key] |
Возвращает значение "1", если ключ существует в кэше, и значение "0" в противном случае. |
type [key] |
Возвращает тип, связанный со значением, для заданного ключа. |
incr [key] |
Увеличивает данное значение, связанное с ключом, на 1. Значение должно быть целым числом или значением с типом double. Возвращает новое значение. |
incrby [key] [amount] |
Увеличивает данное значение, связанное с ключом, на указанную величину. Значение должно быть целым числом или значением с типом double. Возвращает новое значение. |
del [key] |
Удаляет значение, связанное с ключом. |
flushdb |
Удаляет все ключи и значения в базе данных. |
Ниже приведен пример команды:
> set somekey somevalue
OK
> get somekey
"somevalue"
> exists somekey
(string) 1
> del somekey
(string) 1
> exists somekey
(string) 0
Добавление времени истечения срока действия к значениям
Кэширование важно, так как оно позволяет хранить часто используемые значения в памяти. Однако нам также нужен способ истечения срока действия значений, когда они устарели. В Redis истекающий срок действия выполняется путем применения времени для жизни (TTL) к ключу.
По истечении срока жизни ключ автоматически удаляется, точно так же, как при использовании команды удаления. Ниже приведены некоторые пояснения к истечению срока жизни.
- Срок действия можно задать с точностью до секунд или миллисекунд.
- Разрешение по времени истечения срока действия всегда равно 1 миллисекунде.
- Сведения о истечении срока действия реплицируются и сохраняются на диске, время практически проходит, когда сервер Redis остается остановленным (это означает, что Redis сохраняет дату, когда срок действия ключа истекает).
Ниже приведен пример истечения срока действия:
> set counter 100
OK
> expire counter 5
(integer) 1
> get counter
100
... wait ...
> get counter
(nil)
Доступ к кэшу Redis из клиента
Чтобы подключиться к экземпляру Кэш Azure для Redis, вам потребуется несколько элементов информации. Клиентам требуется имя узла, порт и ключ доступа для кэша. Эти сведения можно получить на странице Параметры > Ключи доступа портала Azure.
Имя узла — это общедоступный адрес в Интернете, который был создан с использованием имени кэша. Например,
sportsresults.redis.cache.windows.net
.Ключ доступа выступает в качестве пароля для соответствующего кэша. Созданных ключей всегда два: первичный и вторичный. Вы можете использовать любой ключ. В этом случае необходимо изменить первичный ключ. Вы можете переключить все клиенты на вторичный ключ и повторно создать первичный ключ. Это действие может вызвать блокировку приложений, использующих исходный первичный ключ. Корпорация Майкрософт рекомендует периодически повторно создавать ключи, так же, как и личные пароли.
Предупреждение
Ключи доступа следует считать конфиденциальной информацией, относитесь к ним так же, как к паролю. Любой пользователь с ключом доступа может выполнять любые операции с кэшем!