共用方式為


用戶端程式庫

這很重要

Azure Cache for Redis 宣布了所有 SKU 的淘汰時間表。 建議您儘快將現有的 Azure Cache for Redis 執行個體移至 Azure 受控 Redis

有關退役的更詳細資訊:

Azure Cache for Redis 是以 Redis 開放原始碼記憶體內部數據存放區為基礎。 適用於許多程式設計語言的 Redis 用戶端可以存取 Azure Redis。 您的應用程式可以使用任何與開放原始碼 Redis 相容的用戶端連結庫來連線到您的 Azure Redis 快取。

每個用戶端連結庫都有自己的 API,可使用 Redis 命令呼叫 Redis 伺服器。 用戶端連結庫的建置是為了與任何 Redis 伺服器通訊。

用戶端會維護自己的連結庫的參考檔,並提供連結,以透過用戶端連結庫開發人員社群取得支援。 Microsoft 和 Azure Redis 團隊不負責任何用戶端程式庫的開發或支援。

Microsoft 和 Azure Redis 會根據函式庫的熱門程度及是否有活躍的在線支援社群來回答問題,推薦一些函式庫。 這些程式庫正在積極開發中,通常會發佈具備更高可靠性和效能提升的新版本。 Microsoft建議使用最新的可用版本,並在新版本可用時定期升級。

下表列出了一些建議的客戶端程式庫的連結與文件。

用戶端程式庫 語言 GitHub 存放庫 文件集
StackExchange.Redis C#/.NET https://github.com/StackExchange/StackExchange.Redis StackExchange.Redis
Jedis JAVA https://github.com/redis/jedis
生菜 JAVA https://github.com/lettuce-io/ Lettuce - 進階 Java Redis 用戶端
雷迪森 JAVA 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 相容的用戶端連結庫來連線到您的 Azure Redis 實例。

用戶端程式庫特定的指引

如需用戶端程式庫的特定指引和最佳做法,請參考以下資源:

用戶端程式庫的使用方式

除了參考檔之外,您還可以使用下列教學課程來開始使用不同語言和快取用戶端的 Azure Redis:

Redisson(Java)的最佳實踐

以下是 Redisson 用戶端庫的一些建議最佳做法:

  • 使用 Redisson 3.14.1 或更高版本。 舊版包含已知的連線遺漏問題,其會在容錯移轉之後發生問題。

  • 請注意監控 Redisson 變更記錄,以便掌握可能會影響您應用程式功能的已知問題。 如需詳細資訊,請參閱《雷迪森發行史》和《雷迪森常見問題》。

  • 如果您不想使用readMode,請修改組態設定。 與其他一些用戶端不同,Redisson 預設使用read from replica

  • 若要降低主動式重新連線行為或 連線風暴的風險,請考慮設定較少的最小聯機。

    Redisson 有一個連線集區策略,其中具有可設定的最小值和最大值設定,且預設的最小值很大。 大範圍的預設設定可能會造成激進的重新連線行為或連線風暴。 若要降低此風險,請考慮使用較少的連線。 您可以透過數個連線有效率地串接命令或批次命令。

  • 必要時重設閒置連接逾時。 Redisson 的預設閒置連線逾時為 10 秒,這可能會導致比理想情況下更多次的連線關閉和重新開啟。

  • 如需搭配 Java EE JCache 使用 Redisson 將 HTTP 會話狀態儲存在 Azure Kubernetes Service (AKS) 叢集的相關資訊,請參閱 使用 Azure 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