Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Управляемый Redis Azure основан на популярном хранилище данных в памяти Redis. Клиенты Redis для многих языков программирования могут получить доступ к Управляемому Redis Azure. Каждая клиентская библиотека имеет собственный API, который вызывает сервер Redis с помощью команд Redis, но клиентские библиотеки создаются для связи с любым сервером Redis.
Каждая клиентская библиотека поддерживает собственную справочную документацию. Библиотеки также предоставляют ссылки для получения поддержки через сообщество разработчиков клиентской библиотеки. Команда Управляемого Redis в Azure не владеет разработкой или поддержкой каких-либо клиентских библиотек.
Следующие рекомендации основаны на популярности и наличии активного онлайн-сообщества для поддержки и ответа на ваши вопросы. Мы рекомендуем использовать только последнюю доступную версию и регулярно обновляться по мере того, как новые версии становятся доступными. Эти библиотеки находятся в активной разработке и часто выпускают новые версии с улучшениями надежности и производительности.
Клиентская библиотека | Язык | Репозиторий GitHub | документация |
---|---|---|---|
StackExchange.Redis | C#/.NET | Ссылка | Дополнительные сведения здесь |
Салат | Ява | Ссылка | Дополнительные сведения здесь |
Джедис | Ява | Ссылка | |
node_redis | Node.js | Ссылка | |
Редиссон | Ява | Ссылка | Дополнительные сведения здесь |
ioredis. | Node.js | Ссылка | Дополнительные сведения здесь |
Замечание
Приложение может использовать любую клиентную библиотеку, совместимую с Redis с открытым исходным кодом, для подключения к экземпляру Управляемого Redis в Azure.
Выбор правильной клиентской библиотеки на основе политики кластеризации
Управляемый Redis Azure поддерживает политику кластеризации enterprise и политику кластеризации OSS. Дополнительные сведения см. здесь (добавьте ссылку на сведения о политике кластеризации).
Все клиентские библиотеки работают с экземпляром Redis с политикой кластеризации Enterprise. Однако если вы используете политику кластеризации OSS, убедитесь, что выбранная клиентская библиотека поддерживает подключение к кластеризованным экземплярам Redis.
Заблокированные команды
Корпорация Майкрософт управляет настройками и обслуживанием экземпляров Azure Managed Redis, что по умолчанию отключает следующие команды. Дополнительные сведения о заблокированных командах см. в разделе "Совместимость команд управления кластерами"
Команды с несколькими ключами
Так как экземпляры AMR используют кластеризованную конфигурацию, вы можете увидеть CROSSSLOT
исключения в командах, работающих с несколькими ключами. Поведение зависит от используемой политики кластеризации. Если используется политика кластеризации OSS, у команд с несколькими ключами необходимо сопоставить все ключи с одним хэш-слотом.
При использовании политики кластеризации Enterprise также могут возникнуть ошибки CROSSSLOT
. Только следующие команды с несколькими ключами допускаются в слотах с кластеризацией Enterprise DEL
, MSET
, MGET
, EXISTS
, UNLINK
и TOUCH
.
В базах данных Active-Active команды записи с несколькими ключами (DEL
, MSET
, UNLINK
) могут запускаться только с ключами, которые находятся в одном слоте. Однако в базах данных Active-Active разрешены следующие команды с несколькими ключами в разных слотах: MGET
, EXISTS
и TOUCH
. Дополнительные сведения см. в разделе Кластеризация баз данных.
Команды, заблокированные для политики кластеризации Enterprise
- СВЕДЕНИЯ О КЛАСТЕРЕ
- СПРАВКА ПО КЛАСТЕРУ
- КЛАСТЕР ДЛЯ КЛЮЧЕЙ
- УЗЛЫ КЛАСТЕРА
- СЛОТЫ КЛАСТЕРА
Команды, заблокированные для активной георепликации
- FLUSHALL
- FLUSHDB
Руководство для конкретной клиентской библиотеки
Информация о лучших практиках рекомендаций для каждой клиентской библиотеки см. в следующих ссылках:
Redisson (Java)
Рекомендуется использовать redisson 3.14.1 или более поздней версии. Старые версии содержат известные проблемы утечки соединений, которые вызывают сбои после переключения на резервный ресурс. Следите за журналом изменений Redisson, чтобы узнать о других известных проблемах, которые могут повлиять на функции, используемые вашим приложением. Дополнительные сведения см. в разделе CHANGELOG
и часто задаваемые вопросы о Redisson.
Другие заметки:
- Redisson по умолчанию использует стратегию "чтение из реплики", в отличие от некоторых других клиентов. Чтобы изменить этот параметр по умолчанию, измените параметр конфигурации readMode.
- Redisson имеет стратегию пула подключений с настраиваемыми минимальными и максимальными параметрами, а минимальные значения по умолчанию являются большими. Большие дефолты могут способствовать агрессивным стратегиям повторного подключения или "бурям подключения". Чтобы снизить риск, рассмотрите возможность использования меньшего количества подключений, так как вы можете эффективно конвейерировать команды или пакеты команд по нескольким подключениям.
- Redisson имеет время ожидания бездействия по умолчанию в 10 секунд, что приводит к большему закрытию и повторному открытию подключений, чем в идеале.
Ниже приведена рекомендуемая базовая конфигурация для режима кластера, который можно изменить по мере необходимости:
clusterServersConfig:
idleConnectionTimeout: 30000
connectTimeout: 15000
timeout: 5000
retryAttempts: 3
retryInterval: 3000
checkLockSyncedSlaves: false
failedSlaveReconnectionInterval: 15000
failedSlaveCheckInterval: 60000
subscriptionsPerConnection: 5
clientName: "redisson"
loadBalancer: !<org.redisson.connection.balancer.RoundRobinLoadBalancer> {}
subscriptionConnectionMinimumIdleSize: 1
subscriptionConnectionPoolSize: 50
slaveConnectionMinimumIdleSize: 2
slaveConnectionPoolSize: 24
masterConnectionMinimumIdleSize: 2
masterConnectionPoolSize: 24
readMode: "MASTER"
subscriptionMode: "MASTER"
nodeAddresses:
- "redis://mycacheaddress:10000"
scanInterval: 1000
pingConnectionInterval: 60000
keepAlive: false
tcpNoDelay: true
Сведения о поддержке Redisson JCache в качестве хранилища состояния сеанса HTTP в IBM Liberty в Azure см. в статье "Использование Java EE JCache с Open Liberty или WebSphere Liberty" в кластере Службы Azure Kubernetes (AKS).
Использование клиентских библиотек
Помимо справочной документации, вы можете найти учебники, показывающие, как приступить к работе с Управляемым Redis Azure с помощью разных языков и клиентов кэша.
Дополнительные сведения об использовании некоторых из этих клиентских библиотек в руководствах см. в следующих статьях:
- Код приложения .NET Framework
- Код приложения .NET Core
- Код веб-приложения ASP.NET
- Код веб-приложения ASP.NET Core
- Код приложения Java
- Код приложения Node.js
- Код приложения Python