客户端库

Azure Cache for Redis 基于热门的开源内存中数据存储,即开源 Redis。 可以通过面向许多编程语言的各种 Redis 客户端访问 Azure Cache for Redis。 每个客户端库都有其自己的 API,该 API 使用 Redis 命令调用 Redis 服务器,但构建客户端库的目的是与任何 Redis 服务器通信。

每个客户端维护自己的适用于其库的参考文档。 客户端还提供链接,用于通过客户端库开发人员社区获取支持。 Azure Cache for Redis 团队不负责开发任何客户端库,也不负责为任何客户端库提供支持。

尽管我们不对任何客户端库负责或为其提供支持,但建议使用某些库。 我们的建议基于热门程度以及是否有活跃的在线社区支持和回答你的问题。 我们仅建议使用最新的可用版本,并在新版本可用时定期升级。 这些库处于积极开发阶段,通常会发布新版本,其中包含对可靠性和性能的改进。

客户端库 语言 GitHub 存储库 文档
StackExchange.Redis C#/.NET 链接 此处有更多信息
Lettuce Java 链接 此处有更多信息
Jedis Java 链接
node_redis Node.js 链接
Redisson Java 链接 此处有更多信息
ioredis Node.js 链接 此处有更多信息

注意

应用程序可以将 Azure Cache for Redis 实例与任何也可以与开源 Redis 通信的客户端库连接起来并配合使用。

特定于客户端库的指南

有关特定于客户端库的指南最佳做法的信息,请参阅以下链接:

Redisson (Java)

建议使用 redisson 3.14.1 或更高版本。 旧版本包含已知的连接泄漏问题,这些问题会导致故障转移后出现问题。 监视 Redisson 更改日志,因为其他已知问题可能会影响应用程序使用的功能。 有关详细信息,请参阅 CHANGELOGRedisson 常见问题解答

其他说明:

  • 与其他一些客户端不同,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

有关如何使用 Rettl 对 JCache 的支持作为 AZURE 上的 IBM Liberty 中的 HTTP 会话状态存储的文章,请参阅在 Azure Kubernetes 服务 (AKS) 群集上将 Java EE JCache 与 Open Liberty 或 WebSphere Liberty 配合使用

如何使用客户端库

除了参考文档以外,还可以找到多篇教程,其中介绍了如何通过不同的语言和缓存客户端来开始使用 Azure Cache for Redis。

若要详细了解如何在教程中使用其中一些客户端库,请参阅以下文章:

后续步骤