借助DTS和redis-shake同步工具,云数据库Redis为您提供了丰富数据同步方案,可适用于同步上云、数据异地多活、数据容灾、数据分析等多种业务场景。

数据同步工具

  • DTS(推荐)

    数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务,集数据迁移、订阅、同步于一体,为您提供稳定安全的传输链路。通过DTS可实现单向或双向同步,适用于异地多活、数据异地容灾等多种应用场景。

  • redis-shake

    redis-shake是阿里云自研的开源Redis数据传输工具,基于Linux环境,支持对Redis数据进行解析(decode)、恢复(restore)、备份(dump)和同步(sync或rump),灵活高效。在不方便使用DTS的同步场景,您可以尝试使用redis-shake进行同步。

DTS与redis-shake工具对Redis同步的支持度有所区别,详细信息,请参见下表。

说明 下表中的数据库和架构支持任意组合,例如从自建Redis(集群架构)同步至云数据库Redis社区版(标准架构)。
表 1. 同步支持度
工具 支持的源库 支持的目标库 支持的架构 支持的同步拓扑
DTS(推荐)
  • 自建Redis

    2.8、3.0、3.2、4.0、5.0版本

  • 云数据库Redis社区版

    4.0、5.0版本

  • 云数据库Redis企业版

    5.0版本

  • 自建Redis

    2.8、3.0、3.2、4.0、5.0版本

  • 云数据库Redis社区版

    4.0、5.0版本

  • 云数据库Redis企业版

    5.0版本

说明 跨阿里云账号同步Redis实例时,不支持读写分离架构。
  • 单向同步
  • 双向同步
说明 仅云数据库Redis企业版(5.0版本)间支持双向同步。
redis-shake
  • 自建Redis

    2.8、3.0、3.2、4.0、5.0版本

  • 云数据库Redis社区版

    4.0、5.0版本

  • 自建Redis

    2.8、3.0、3.2、4.0、5.0版本

  • 云数据库Redis社区版

    4.0、5.0版本

  • 云数据库Redis企业版

    5.0版本

单向同步

权限要求

对于不同的同步场景,DTS与redis-shake工具所需的权限有所区别,在配置数据同步前,您需要根据下表的同步场景为源和目标库准备相关权限。

说明 关于如何为Redis实例创建相应权限的账号,请参见 创建与管理账号
表 2. 权限要求
工具 同步场景 源库的权限要求 目标库的权限要求
DTS(推荐)
  • 同一阿里云账号实例间同步
  • 从阿里云同步至自建库
读权限 读写权限
  • 跨阿里云账号实例间同步
复制权限
说明 源实例为集群或读写分离架构时暂不支持创建 复制权限的账号,如果迁移的目标为Redis实例,您可以 提交工单申请开通该功能。
读写权限
  • 从自建库同步至阿里云
  • 自建库间同步
允许执行SYNCPSYNC命令 读写权限
redis-shake
  • 从自建库同步至阿里云
  • 自建库间同步
允许执行SYNCPSYNC命令 读写权限
  • 同一阿里云账号实例间同步
  • 跨阿里云账号实例间同步
  • 从阿里云同步至自建库
复制权限 读写权限

数据同步方案

注意 由于数据同步的配置方法相似程度较高,下表仅列出常见同步场景对应的配置文档。如果您的场景没有在下表中覆盖,您可以参考相近场景的文档并结合 权限要求表格的内容进行配置。
场景 工具 配置案例
从自建库同步至云数据库Redis DTS 从自建Redis集群同步至Redis集群实例
从ECS上的自建Redis同步至Redis实例
从ECS上的Codis集群同步至Redis实例
从ECS上的Twemproxy Redis集群同步至Redis实例
ssdb-port 使用ssdb-port将SSDB数据库同步到云数据库Redis版
说明 ssdb-port是一款适用于SSDB数据库的数据同步工具,支持SSDB到Redis的实时单向数据同步。
云数据库Redis间同步 DTS Redis实例间的单向数据同步
Redis企业版实例间的双向同步
跨云账号同步Redis集群版实例
redis-shake 通过Redis-shake实现Redis实例间的单向同步
自建库间同步 DTS 从通过专线、VPN网关或智能接入网关接入的自建Redis同步至ECS上的自建Redis