客户端库
Azure Cache for Redis 基于热门的开源内存数据存储,即开源 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 | 链接 | 此处有更多信息 |
备注
你的应用程序可以使用与开源 Redis 兼容的任何客户端库连接到你的 Azure Cache for Redis 实例。
有关特定于客户端库的指南最佳做法的信息,请参阅以下链接:
- StackExchange.Redis (.NET)
- Lettuce (Java)
- Jedis (Java)
- Redisson (Java)
- Node.js
- PHP
- HiRedisCluster
- ASP.NET 会话状态提供程序
建议使用 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:6380"
scanInterval: 1000
pingConnectionInterval: 60000
keepAlive: false
tcpNoDelay: true
有关 Redisson 支持 JCache 作为 Azure 上 IBM Liberty 中 HTTP 会话状态存储的文章,请参阅在 Azure Kubernetes 服务 (AKS) 群集上将 Java EE JCache 与 Open Liberty 或 WebSphere Liberty 结合使用。
除了参考文档以外,还可以找到多篇教程,其中介绍了如何通过不同的语言和缓存客户端来开始使用 Azure Cache for Redis。
若要详细了解如何在教程中使用其中一些客户端库,请参阅以下文章: