クライアント ライブラリ

Azure Cache for Redis は、広く普及しているオープン ソースのインメモリ データ ストアであるオープンソース Redis がベースとなっています。 Azure Cache for Redis には、多くのプログラミング言語のさまざまな Redis クライアントからアクセスできます。 各クライアント ライブラリには、Redis コマンドを使用して Redis サーバーを呼び出す独自の API がありますが、クライアント ライブラリは任意の Redis サーバーと通信するように構築されています。

各クライアントでは、そのライブラリの独自のリファレンス ドキュメントが保持されています。 クライアントには、クライアント ライブラリ開発者コミュニティを通じてサポートを受けるためのリンクも用意されています。 Azure Cache for Redis チームは、クライアント ライブラリの開発やサポートを所有していません。

Microsoft はクライアント ライブラリを所有またはサポートしていませんが、いくつかのライブラリをお勧めします。 おすすめは、人気度と、質問に対してサポートし、回答するアクティブなオンライン コミュニティがあるかどうかに基づいています。 利用可能な最新バージョンのみを使用し、新しいバージョンが利用可能になったら定期的にアップグレードすることをお勧めします。 これらのライブラリは活発に開発されており、多くの場合、信頼性とパフォーマンスが向上した新しいバージョンがリリースされています。

クライアント ライブラリ Language GitHubリポジトリ ドキュメント
StackExchange.Redis C#/.NET リンク 詳細については、こちらを参照してください
Lettuce Java リンク 詳細については、こちらを参照してください
Jedis Java リンク
node_redis Node.js リンク
Redisson Java リンク 詳細については、こちらを参照してください
ioredis Node.js リンク 詳細については、こちらを参照してください

Note

アプリケーションは、オープンソース Redis とも通信できる任意のクライアント ライブラリに Azure Cache for Redis インスタンスを接続して使用できます。

クライアント ライブラリ固有のガイダンス

クライアント ライブラリ固有のガイダンスのベスト プラクティスについては、次のリンクを参照してください。

Redisson (Java)

redisson 3.14.1 以降を使用することを "お勧めします"。 以前のバージョンには、フェールオーバー後の問題につながる接続リークの問題が確認されています。 その他、アプリケーションで使用している機能に影響を及ぼすおそれのある既知の問題については、Redisson の変更ログを随時確認してください。 詳細については、CHANGELOG および Redisson の FAQ を参照してください。

その他の注意事項:

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

Azure 上の IBM Liberty の HTTP セッション状態のストアとして Redisson の JCache のサポートを使用する方法を示す記事については、「Azure Kubernetes Service (AKS) クラスターで、Java EE JCache と Open Liberty または WebSphere Liberty を使用する」を参照してください。

クライアント ライブラリの使用方法

リファレンス ドキュメントのほかに、さまざまな言語とキャッシュ クライアントを使用して Azure Cache for Redis を使用する方法を示すチュートリアルもあります。

チュートリアルでこれらのクライアント ライブラリの一部を使用する方法の詳細については、次の記事を参照してください。

次の手順