Поделиться через


Клиентские библиотеки

Кэш Azure для Redis основан на открытом исходном хранилище данных Redis в памяти. Клиенты Redis для многих языков программирования могут получить доступ к Azure Redis. Приложение может использовать любую клиентскую библиотеку, совместимую с Redis с открытым кодом, для подключения к кэшу Redis Azure.

Каждая клиентская библиотека имеет собственный API, который вызывает серверы Redis с помощью команд Redis. Клиентские библиотеки создаются для взаимодействия с любым сервером Redis.

Клиенты поддерживают справочную документацию для собственных библиотек и предоставляют ссылки для получения поддержки через сообщество разработчиков клиентской библиотеки. Корпорация Майкрософт и команда Azure Redis не отвечают за разработку или поддержку клиентских библиотек.

Microsoft и Azure Redis рекомендуют некоторые библиотеки на основе популярности и наличия активного сообщества поддержки в Интернете, чтобы ответить на вопросы. Эти библиотеки находятся в активной разработке и часто выпускают новые версии с повышением надежности и производительности. Корпорация Майкрософт рекомендует регулярно использовать последнюю доступную версию и регулярно обновлять новые версии.

В следующей таблице перечислены ссылки и документация для некоторых рекомендуемых клиентских библиотек.

Клиентская библиотека Язык репозитория GitHub документация
StackExchange.Redis C#/.NET https://github.com/StackExchange/StackExchange.Redis StackExchange.Redis (StackExchange.Redis)
Джедис Ява https://github.com/redis/jedis
Салат Ява https://github.com/lettuce-io/ Lettuce — расширенный клиент Java Redis
Редиссон Ява https://github.com/redisson/redisson Redisson — клиент Redis Java Real-Time платформы данных
ioredis. Node.js https://github.com/luin/ioredis Классы
node_redis Node.js https://github.com/redis/node-redis

Замечание

Приложение может использовать любую клиентскую библиотеку, совместимую с Redis с открытым исходным кодом, для подключения к экземпляру Redis Azure.

Руководство для конкретной клиентской библиотеки

Рекомендации и лучшие практики для конкретной клиентской библиотеки см. по следующим ссылкам:

Использование клиентских библиотек

Помимо справочной документации, вы можете использовать следующие учебники для начала работы с Azure Redis с помощью различных языков и клиентов кэша:

Рекомендации по Redisson (Java)

Ниже приведены некоторые рекомендации по клиентской библиотеке Redisson :

  • Используйте Redisson 3.14.1 или более поздней версии. Старые версии содержат известные проблемы утечки соединений, которые вызывают сбои после переключения на резервный ресурс.

  • Отслеживайте журнал изменений Redisson для известных проблем, которые могут повлиять на функции, которые используются приложением. Дополнительные сведения см. в журнале истории выпусков Redisson и списке часто задаваемых вопросов Redisson.

  • Измените readMode параметр конфигурации, если вы не хотите использовать стратегию чтения из реплики. В отличие от некоторых других клиентов, Redisson использует чтение из реплики в качестве значения по умолчанию.

  • Чтобы снизить риск агрессивного поведения повторного подключения или штормов подключений, рекомендуется установить меньшее количество минимальных подключений.

    Redisson имеет стратегию пула подключений с настраиваемыми минимальными и максимальными параметрами, а минимальные значения по умолчанию являются большими. Большие значения по умолчанию могут способствовать агрессивному поведению повторного подключения или штормам подключений. Чтобы уменьшить этот риск, рассмотрите возможность использования меньшего количества подключений. Вы можете эффективно конвейеризировать команды или пакеты команд через несколько подключений.

  • При необходимости сбросьте время ожидания простоя подключения. Redisson имеет время ожидания бездействия по умолчанию 10 секунд, что может привести к большему закрытию и повторному открытию подключений, чем в идеале.

  • Сведения об использовании Redisson с Java EE JCache для хранения состояния сеанса HTTP в кластере Службы Azure Kubernetes (AKS) см. в статье Использование Redis в качестве кэша сеансов для WebSphere Liberty или Open Liberty.

  • Используйте следующую рекомендуемую базовую конфигурацию для режима кластера и измените ее по мере необходимости.

    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:6380"
      scanInterval: 1000
      pingConnectionInterval: 60000
      keepAlive: false
      tcpNoDelay: true