你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 托管 Redis 客户端库

本文可帮助你选择和使用 Azure 托管 Redis 的最佳客户端库。 你将了解用于编程语言的库、如何处理群集策略,以及避免常见的连接问题。

Azure 托管 Redis 基于常用的内存中数据存储 Redis。 许多编程语言的 Redis 客户端都可以访问 Azure 托管的 Redis。 每个客户端库都有其自己的 API,该 API 使用 Redis 命令调用 Redis 服务器,但构建客户端库的目的是与任何 Redis 服务器通信。

每个客户端库都维护有自己的参考文档。 这些库还提供相应链接,用于通过客户端库开发人员社区获取支持。 Azure 托管 Redis 团队不负责开发任何客户端库,也不负责为任何客户端库提供支持。

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

客户端库 语言 GitHub存储库 文档
StackExchange.Redis C#/.NET StackExchange.Redis GitHub StackExchange.Redis 文档
生菜 Java Lettuce GitHub Lettuce 文档
Jedis Java Jedis GitHub Jedis 文档
node_redis Node.js node_redis GitHub node_redis文档
ioredis Node.js ioredis GitHub ioredis API 参考

注释

应用程序可以使用与开源 Redis 兼容的任何客户端库连接到 Azure 托管 Redis 实例。

根据群集策略选择正确的客户端库

Azure 托管 Redis 支持企业群集策略和 OSS 群集策略。 有关详细信息,请参阅此处(添加群集策略信息的链接)。

所有客户端库都使用企业群集策略来处理 Redis 实例。 但是,如果使用 OSS 群集策略,请确保所选客户端库支持连接到群集 Redis 实例。

被阻止的命令

Microsoft 负责 Azure 托管的 Redis 实例的配置和管理,默认情况下会禁用以下命令。 有关被阻止的命令的详细信息,请参阅群集管理命令兼容性

多键命令

由于 AMR 实例使用群集化配置,你可能会看到对多个键进行操作的命令上出现 CROSSSLOT 异常。 行为因使用的群集策略而异。 如果使用 OSS 群集策略,多键命令需要所有键都映射到同一个哈希槽

你可能还会看到 Enterprise 群集策略的 CROSSSLOT 错误。 在具有 Enterprise 群集的槽中,仅允许使用以下多键命令:DELMSETMGETEXISTSUNLINKTOUCH

在 Active-Active 数据库中,只能对同一槽中的键运行多键写入命令(DELMSETUNLINK)。 但是,在 Active-Active 数据库中的各个槽之间允许使用以下多键命令:MGETEXISTSTOUCH。 有关更多信息,请参阅数据库群集

针对企业群集策略被阻止的命令

  • 集群信息
  • CLUSTER HELP
  • 群集密钥槽
  • 群集节点
  • CLUSTER SLOTS

针对活动异地复制被阻止的命令

  • FLUSHALL
  • FLUSHDB

特定于客户端库的指南

选择编程语言以获取详细的最佳做法和连接指南:

如何使用客户端库

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

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

后续步骤