开发者社区 > 数据库 > 正文

阿里云数据库 社区版代理连接模式,支持多key不在一个solt槽的mget合并获取吗?

阿里云数据库 社区版redis的集群架构的代理连接模式,能支持多key不在一个solt槽的mget合并获取吗?

展开
收起
-Feng、冯冯 2024-02-07 08:04:44 18 0
2 条回答
写回答
取消 提交回答
  • 支持的,可以参见这个文档哈
    https://help.aliyun.com/zh/redis/product-overview/features-of-proxy-nodes?spm=a2c4g.11174283.0.i2
    5245da1d9e370b3a25f15fda1988f632.png
    此回答整理自钉群“数据库上云(客户群)【咨询请 @数据库咨询】”

    2024-02-08 10:17:08
    赞同 展开评论 打赏
  • 阿里云Redis社区版集群架构在集群模式下,键会通过哈希槽(hash slot)分布到不同的节点上。对于不在同一个slot的多个Key,MGET命令默认无法直接在一个命令中合并获取。

    在集群环境下,由于键分布在不同的节点上,MGET命令如果包含多个分布在不同slot的键,客户端(如果是普通客户端,非集群客户端)无法自行完成跨节点的合并获取操作。

    但如果使用的是阿里云Redis集群版提供的代理连接模式(Proxy Mode),代理服务器会根据请求的键解析出它们所在的节点,并透明地将请求转发给正确的节点执行。理论上,代理服务器有可能实现对MGET这类跨slot请求的支持,但实际上是否支持,需要查看阿里云Redis集群版的具体实现和官方文档说明。

    一般而言,为了在集群环境中有效地执行跨slot的MGET操作,客户端需要使用支持集群模式的客户端库,该库能够智能地将命令拆分并发送到各个节点,最后再合并结果。而代理服务器的存在就是为了简化客户端的工作,使得客户端可以像操作单节点Redis一样操作集群。

    2024-02-07 16:28:06
    赞同 1 展开评论 打赏

数据库领域前沿技术分享与交流

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载