云服务器内容精选

  • 查看参数模板信息 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“参数模板”。 在“参数模板”页面,选择“系统默认”或者“自定义”。 查询参数模板。 当前支持通过模板名称搜索对应的参数模板,直接在搜索栏输入关键字即可。 在需要查看的参数模板左侧,单击该模板名称,进入模板的参数页面。各参数的详细介绍见表1。 表1 Redis缓存实例配置参数说明 参数名 参数解释 例外场景 取值范围 默认值 active-expire-num 定期删除过期键时随机检查key的数量。 如果增加该参数值,短时间内可能出现CPU使用率升高,命令时延增大,随后恢复正常。如果减小该参数值,内存中过期key数量可能上升,占用更多的内存。 Redis 3.0和Redis 6.0企业版实例不支持该参数。 说明: 该参数为2021年9月新增,在此之前创建的实例,如果无法正常修改参数值,请联系客服处理。 1~1,000 20 timeout 客户端空闲N秒(timeout参数的取值)后将断开连接。参数值为0表示禁用该功能,即客户端空闲不会断开连接。 - 0~7200 单位:秒 0 appendfsync 操作系统的fsync函数刷新缓冲区数据到磁盘,有些操作系统会真正刷新磁盘上的数据,其他一些操作系统只会尝试尽快完成。 单机实例不支持该参数。 no:不调用fsync,由操作系统决定何时刷新数据到磁盘,性能最高。 always:每次写AOF文件都调用fsync,性能最差,但数据最安全。 everysec:每秒调用一次fsync。兼具数据安全和性能。 no appendonly 指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。 单机实例不支持该参数。 yes:开启日志记录,即开启持久化功能。 no:关闭日志记录,即关闭持久化功能。 only-replica:仅开启从节点持久化功能。 说明: 仅Redis 4.0及以上版本的基础版主备或集群实例,或企业版高性能型主备实例支持only-replica配置项。 如果以上版本及实例类型的实例,控制台中无only-replica配置项,可以联系客服放通该配置项的白名单。 yes client-output-buffer-limit-slave-soft-seconds 主从同步缓冲区大小超过client-output-buffer-slave-soft-limit主从同步缓冲区大小软限制,并持续时间超过此参数值时,服务端会主动断开连接。该参数值配置的越小,越容易断开连接。 - 0~60 单位:秒 60 client-output-buffer-slave-hard-limit 主从同步缓冲区大小硬限制。如果同步缓冲区大小超过这个值,则主从同步连接立即断开。该参数值配置的越小,越容易断开连接。 - 0~17,179,869,184 单位:字节 1,717,986,918 client-output-buffer-slave-soft-limit 主从同步缓冲区大小软限制。如果同步缓冲区大小超过这个值,并持续时间达到client-output-buffer-limit-slave-soft-seconds参数配置的秒数,则主从同步连接断开。该参数值配置的越小,越容易断开连接。 - 0~17,179,869,184 单位:字节 1,717,986,918 maxmemory-policy 内存使用达到上限(maxmemory)时,对缓存数据的逐出策略,有8个取值供选择。 - volatile-lru:根据LRU算法删除设置了过期时间的键值。 allkeys-lru:根据LRU算法删除任一键值。 volatile-random:删除设置了过期时间的随机键值。 allkeys-random:删除一个随机键值。 volatile-ttl:删除即将过期的键值,即TTL值最小的键值。 noeviction:不删除任何键值,只是返回一个写错误。 volatile-lfu: 根据LFU算法删除设置了过期时间的键值。 allkeys-lfu: 根据LFU算法删除任一键值。 详情可参考Redis官网的逐出策略。 volatile-lru 说明: 如果是2020年7月之前创建的Redis实例,且没有修改过该参数,则默认值为noeviction。如果是2020年7月之后创建的实例,默认值都为volatile-lru。 lua-time-limit Lua脚本的最长执行时间。 - 100~5,000 单位:毫秒 5,000 master-read-only 设置实例为只读状态。设置只读后,所有写入命令将返回失败。 Proxy集群实例不支持该参数。 yes no no maxclients 最大同时连接的客户端个数。客户端数量超过该配置值时,会发生连接失败。该参数值配置过大时,会增加服务器处理连接的开销,影响服务器性能,命令时延增大;该参数值配置过小,可能无法完全发挥服务器的性能。 该参数为单节点(单分片)连接数上限: 集群实例单节点连接数上限=实例连接数上限/分片数。 单机/主备实例,单节点连接数上限=实例最大连接数。 读写分离实例暂不支持该参数。 1,000~50,000 10,000 proto-max-bulk-len Redis协议中的最大的请求大小。该参数的配置值需要大于客户请求的长度,否则请求将无法执行。 - 1,048,576~536,870,912 单位:字节 536,870,912 repl-backlog-size 用于增量同步的复制积压缓冲区大小。这是一个用来在从节点断开连接时,存放从节点数据的缓冲区,当从节点重新连接时,如果丢失的数据少于缓冲区的大小,可以用缓冲区中的数据开始增量同步。 - 16,384~1,073,741,824 单位:字节 1,048,576 repl-backlog-ttl 从节点断开后,主节点释放复制积压缓冲区内存的秒数。值为0时表示永不释放复制积压缓冲区内存。 - 0~604,800 单位:秒 3,600 repl-timeout 主从同步超时时间。 单机实例不支持该参数。 30~3,600 单位:秒 60 hash-max-ziplist-entries 当hash表中记录数少于参数值,使用ziplist编码格式,节约内存。 - 1~10000 512 hash-max-ziplist-value 当hash表中各字段长度的最大值小于参数值时,使用ziplist编码格式,节约内存。 - 1~10000 64 set-max-intset-entries 当一个集合仅包含字符串且整型元素数量少于参数值时,使用intset编码格式,节约内存。 - 1~10000 512 zset-max-ziplist-entries 当有序集合中记录数少于参数值,使用ziplist编码格式,节约内存。 - 1~10000 128 zset-max-ziplist-value 当有序集合中各字段长度的最大值小于参数值时,使用ziplist编码格式,节约内存。 - 1~10000 64 latency-monitor-threshold 延时监控的采样时间阈值(最小值)。 当阈值设置为0时,不做监控,也不采样;当阈值设置为大于0时,将监控并记录执行耗时大于阈值的操作。 您可以通过LATENCY等命令获取统计数据和配置、执行采样监控。 说明: latency-monitor-threshold参数一般在定位问题时使用。采集完latency信息,定位问题后,建议重新将latency-monitor-threshold设置为0,以免引起不必要的延迟。 Proxy集群实例不支持该参数。 0~86400000 单位:毫秒 0 notify-keyspace-events 键空间通知,配置该参数后客户端可以通过Redis的订阅与发布功能,来接收那些以某种方式改动了Redis数据集的事件。该参数配置为空时,功能关闭。当参数不是空字符串时,功能开启。 Proxy集群实例不支持该参数。 可配置为以下字符的任意组合,指定了服务器该发送哪些类型的通知: K:键空间通知,所有通知以__keyspace@__为前缀。 E:键事件通知,所有通知以__keyevent@__为前缀。 g:DEL、EXPIRE、RENAME等类型无关的通用命令的通知。 $:字符串命令的通知。 l:列表命令的通知。 s:集合命令的通知。 h:哈希命令的通知。 z:有序集合命令的通知。 x:过期事件:每当有过期键被删除时发送。 e:驱逐(evict)事件:每当有键因为maxmemory政策而被删除时发送。 A:参数g$lshzxe的别名。 输入的参数中至少有一个K或者E,A不能与g$lshzxe同时出现,不能出现相同字母。例如,如果只想订阅键空间中和列表相关的通知,那么参数就应该设为Kl。将参数设为字符串"AKE"表示发送所有类型的通知。 Ex slowlog-log-slower-than Redis慢查询会记录超过指定执行时间的命令。slowlog-log-slower-than用于配置记录到redis慢查询命令执行时间阈值。 - 0~1,000,000 单位:微秒 10,000 proxy-slowlog-log-slower-than Proxy节点慢查询会记录超过指定执行时间的命令。proxy-slowlog-log-slower-than用于配置记录到proxy节点慢查询命令的执行时间阈值。 目前仅“华东-上海二”和“华南-广州”区域的Proxy集群和读写分离实例支持该参数。 30,000~2,000,000 单位:微秒 256,000 slowlog-max-len Redis慢查询记录的条数。注意慢查询记录会消耗额外的内存。可以通过执行SLOW LOG RESET命令清除慢查询记录。 - 0~1,000 128 proxy-slowlog-max-len Proxy节点慢查询记录的条数。注意慢查询记录会消耗额外的内存。可以通过执行SLOWLOG RESET命令清除慢查询记录。 目前仅“华东-上海二”和“华南-广州”区域的Proxy集群和读写分离实例支持该参数。 0~1,000 128 auto-kill-timeout-lua-process 开启该参数时,执行超时的lua脚本进程会被自动kill。如果lua脚本执行了写操作无法kill,并且实例开启了持久化时,则该lua脚本所在的节点会自动重启,lua脚本执行的写操作将不被保存。 单机实例和Redis 3.0实例不支持该参数。 yes:开启 no:关闭 no audit-log-customer-command-list 审计日志需要额外记录的命令。审计日志默认只记录写命令,该参数可以指定用户额外需要记录的命令。只有在开启了审计日志的情况下才有效。 审计日志目前为白名单特性,只有开启了审计日志白名单的用户,并且仅当实例类型为Proxy集群实例时,才显示该参数。 该参数配置的值必须由英文字母或与.-_组成的命令,且必须以英文字母开头和结尾,每个命令最大长度为10,最多支持配置10个命令。命令之间用空格隔开, 配置的内容最后必须以空格结尾。 - dispatch-pubsub-to-fixed-shard 该参数用于指定发布订阅的channel是否集中在0号槽位对应的分片上。开启开关时,发布订阅的处理逻辑与单机版一致。用户轻度使用发布订阅时,推荐开启开关。用户重度使用发布订阅功能时,请使用默认配置,让订阅分担到全部分片中。 仅Proxy集群实例支持该参数。 yes:开启开关。订阅的channel都集中在0号槽位对应的集群分片上。 no:关闭开关。根据订阅channel值计算出hash槽位值,再将channel分散到各个槽位对应的分片中。 no readonly-lua-route-to-slave-enabled 是否把只读账号的只读lua路由到从节点,如果开启,只读账号的只读lua可以执行,且会路由到从节点。 仅读写分离实例支持该参数。 yes:开启 no:关闭 no cluster-sentinel-enabled 实例兼容哨兵(Sentinel)模式。 仅Proxy集群实例支持该参数。 yes:开启 no:关闭 no scan-support-wr-split 该参数关闭时,scan命令在master节点执行,该参数开启后,scan命令将在slave节点执行。 开启该参数后,可以降低scan命令对主节点的压力,但对于新写入主节点的数据,可能无法第一时间在从节点查询到。 仅Proxy集群实例支持该参数。 如果历史创建的Proxy集群实例不支持该参数,请联系客服升级实例版本。 yes:开启 no:关闭 no maxclients、reserved-memory-percent、client-output-buffer-slave-soft-limit、client-output-buffer-slave-hard-limit参数的默认值和取值范围与实例规格有关,因此参数模板不显示该四个参数。 表1中的内存优化相关参数可以参考Redis官网说明,链接:https://redis.io/topics/memory-optimization。
  • 配置在线迁移任务 创建完在线迁移任务之后,单击该迁移任务右侧的“配置”,配置在线迁移的源Redis、目标Redis等信息。 选择迁移方法。 支持“全量迁移”和“全量迁移+增量迁移”两种,“全量迁移”和“全量迁移+增量迁移”的功能及限制如表1所示。 表1 在线迁移方法说明 迁移类型 描述 全量迁移 该模式为Redis的一次性迁移,适用于可中断业务的迁移场景。全量迁移过程中,如果源Redis有数据更新,这部分更新数据不会被迁移到目标Redis。 全量迁移+增量迁移 该模式为Redis的持续性迁移,适用于对业务中断敏感的迁移场景。增量迁移阶段通过解析日志等技术, 持续保持源Redis和目标端Redis的数据一致。 增量迁移,迁移任务会在迁移开始后,一直保持迁移中状态,不会自动停止。需要您在合适时间,在“操作”列单击“停止”,手动停止迁移。停止后,源端数据不会造成丢失,只是目标端不再写入数据。增量迁移在传输链路网络稳定情况下是秒级时延,具体的时延情况依赖于网络链路的传输质量。 图1 选择迁移方法 仅当迁移方法选择“全量迁移+增量迁移”时,支持选择是否启用“带宽限制”。 如果启用带宽限制功能,当数据同步速度达到带宽限制时,将限制同步速度的继续增长。 选择是否“自动重连”。如开启自动重连模式,迁移过程中在遇到网络等异常情况时,会无限自动重连。 自动重连模式在无法进行增量同步时,会触发全量同步,增加带宽占用,请谨慎选择。 分别配置“源Redis”和“目标Redis”。 配置“源Redis类型”和“源Redis实例”: “源Redis类型”请选择“自建Redis”,并在“源Redis实例”处输入源Redis的IP地址和端口。 如果源Redis为Cluster集群,需要输入集群所有主节点的IP端口,用英文逗号隔开。例如:192.168.1.1:6379,192.168.0.0:6379 配置“目标Redis类型”和“目标Redis实例”: “目标Redis类型”请选择“云服务Redis”,并在“目标Redis实例”处选择需要迁移的目标Redis。 分别配置“源Redis实例密码”和“目标Redis实例密码”:如果是密码访问模式实例,在输入连接实例密码后,单击密码右侧的“测试连接”,检查实例密码是否正确、网络是否连通。如果是免密访问的实例,请直接单击“测试连接”。如果测试连接失败,请检查输入的实例密码是否正确、Redis实例与迁移任务网络是否打通。 如果是D CS 服务的Redis实例,此处暂不支持使用账号管理功能中创建的ACL账号及密码。 在“源DB”或“目标DB”中,您可以选择是否需要指定具体迁移的DB。例如源端输入5,目标端输入6时,表示迁移源Redis DB5中的数据到目标Redis的DB6;当源端不指定DB,目标端指定DB时,表示默认迁移源端的全部数据,到目标端指定的DB,当目标端不指定DB时,表示默认迁移到与源端对应的DB。 当源端为多DB,目标端为单DB的DCS实例时(单DB的实例只有DB0),需要源端的所有数据都在DB0,或者指定仅迁移源端某一DB中的数据并将目标端DB指定为0,否则会迁移失败。 DCS Redis的DB数请参见Redis实例是否支持多DB方式?。 单击“下一步”。 确认迁移信息,然后单击“提交”,开始创建迁移任务。 可返回迁移任务列表中,观察对应的迁移任务的状态,迁移成功后,任务状态显示“成功”。 如果出现迁移失败,建议单击迁移任务名称,进入迁移任务详情页面,通过“迁移日志”排查迁移失败的原因。 如果是增量迁移,全量迁移后会一直处于增量迁移中的状态。 如需手动停止迁移中的任务,勾选迁移任务左侧的方框,单击迁移任务上方的“停止”,即可停止迁移。 勾选停止迁移或迁移失败的迁移任务,单击迁移任务上方的“重启”,可重新进行迁移。如果重启迁移任务后迁移失败,建议单击“配置”,重新配置在线迁移任务后重试。 单次最多支持勾选50个在线迁移任务,批量停止、删除、或重启迁移任务。
  • 迁移后验证 数据迁移前如果目标Redis中数据为空,迁移完成后,可以通过以下方式确认数据的完整性: 连接源Redis和目标Redis。连接Redis的方法请参考Redis-cli客户端连接Redis。 输入info keyspace,查看keys参数和expires参数的值。 对比源Redis和目标Redis的keys参数分别减去expires参数的差值。如果差值一致,则表示数据完整,迁移正常。 注意:如果是全量迁移,迁移过程中源Redis更新的数据不会迁移到目标实例。
  • 前提条件 在迁移之前,请先阅读迁移方案概览,选择正确的迁移方案,了解当前DCS支持的在线迁移能力,选择适当的目标实例。 如果是单机/主备等多DB的源端实例迁移到Proxy集群实例,Proxy集群默认不开启多DB,仅有一个DB0,请先确保源端实例DB0以外的DB是否有数据,如果有,请先参考开启多DB操作开启Proxy集群多DB设置。 如果是单机/主备等多DB的源端实例迁移到Cluster集群实例,Cluster集群不支持多DB,仅有一个DB0,请先确保源端实例DB0以外的DB是否有数据,如果有,请将数据转存到DB0,否则会出现迁移失败,将数据转存到DB0的操作请参考使用Rump在线迁移。 已获取准备迁移的源Redis实例的IP地址和端口。 如果您还没有目标Redis,请先创建目标Redis,具体操作请参考购买Redis实例。 如果您已有目标Redis,则不需要重复创建,为了对比迁移前后数据及预留足够的内存空间,建议在数据迁移之前清空目标实例数据,清空操作请参考清空Redis实例数据。如果没有清空实例数据,数据迁移后,目标Redis与源Redis实例重复的数据迁移后会被覆盖,源Redis没有、目标Redis有的数据会保留。
  • 创建在线迁移任务 请使用DCS目标Redis所在的账号登录分布式缓存服务控制台。 在管理控制台左上角单击,选择DCS目标Redis所在的区域。 单击左侧菜单栏的“数据迁移”。页面显示迁移任务列表页面。 单击右上角的“创建在线迁移任务”。 设置迁移任务名称和描述。 任务名称请以字母开头,长度不小于4位且不超过64位。任务名称只能包含字母、数字、中划线、下划线。 配置在线迁移任务虚拟机资源的VPC、子网和安全组。 请选择与目标Redis相同的VPC,确保迁移资源能访问目标Redis实例。 创建的在线迁移任务会占用一个租户侧IP,即控制台上迁移任务对应的“迁移IP”。如果源端Redis或目标端Redis配置了白名单,需确保配置了迁移IP或关闭白名单限制。 迁移任务所选安全组的“出方向规则”需放通源端Redis和目标端Redis的IP和端口(安全组默认情况下为全部放通,则无需单独放通),以便迁移任务的虚拟机资源能访问源Redis和目标Redis。
  • 检查网络 检查源Redis、目标Redis、迁移任务资源所在VPC是否为同一个VPC。 如果是,请执行配置在线迁移任务;如果不是,请执行2。 检查源Redis的VPC、目标Redis的VPC、迁移任务资源所在VPC的网络是否打通,确保迁移任务的虚拟机资源能访问源Redis和目标Redis。 如果已打通,则执行配置在线迁移任务;如果没打通,则执行3。 执行相应操作,打通网络。 当源Redis和目标Redis所在的VPC属于同一云厂商的同一Region,请参考VPC对等连接说明,查看和创建对等连接,打通网络。 当源Redis和目标Redis所在的VPC属于同一云厂商的不同Region,请参考云连接,查看和创建云连接,打通网络。 当源Redis和目标Redis属于不同的云厂商,仅支持云专线打通网络,请参考云专线。
  • 约束与限制 如果源Redis禁用了SYNC和PSYNC命令,请务必放通后再执行在线迁移,否则会导致在线迁移失败。 在线迁移不支持公网方式直接迁移。 进行在线迁移时,建议将源端实例的参数repl-timeout配置为300秒,client-output-buffer-slave-hard-limit和client-output-buffer-slave-soft-limit配置为实例最大内存的20%。 源端仅支持Redis 3.0及3.0以上的Redis版本。 较早建立的实例如果密码中包含单引号('),则该实例不支持进行在线迁移,建议修改实例密码或使用其他迁移方式。 开启了SSL的目标实例不支持数据迁移,需要关闭目标实例SSL后再进行迁移,开启或关闭SSL的操作请参考配置Redis SSL 数据加密 传输。
  • 缓存实例配置参数说明 表1中的内存优化相关参数可以参考Redis官网说明,链接:https://redis.io/topics/memory-optimization。 不同实例类型和版本支持配置的参数和取值可能略有不同,控制台参数配置页面中未显示的参数不支持修改。 表1 Redis缓存实例配置参数说明 参数名 参数解释 例外场景 取值范围 默认值 active-expire-num 定期删除过期键时随机检查key的数量。 如果增加该参数值,短时间内可能出现CPU使用率升高,命令时延增大,随后恢复正常。如果减小该参数值,内存中过期key数量可能上升,占用更多的内存。 Redis 3.0和Redis 6.0企业版实例不支持该参数。 说明: 该参数为2021年9月新增,在此之前创建的实例,如果无法正常修改参数值,请联系客服处理。 1~1,000 20 timeout 客户端空闲N秒(timeout参数的取值)后将断开连接。参数值为0表示禁用该功能,即客户端空闲不会断开连接。 - 0~7200 单位:秒 0 appendfsync 操作系统的fsync函数刷新缓冲区数据到磁盘,有些操作系统会真正刷新磁盘上的数据,其他一些操作系统只会尝试尽快完成。 单机实例不支持该参数。 no:不调用fsync,由操作系统决定何时刷新数据到磁盘,性能最高。 always:每次写AOF文件都调用fsync,性能最差,但数据最安全。 everysec:每秒调用一次fsync。兼具数据安全和性能。 no appendonly 指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。 单机实例不支持该参数。 yes:开启日志记录,即开启持久化功能。 no:关闭日志记录,即关闭持久化功能。 only-replica:仅开启从节点持久化功能。 说明: 仅Redis 4.0及以上版本的基础版主备或集群实例,或企业版高性能型主备实例支持only-replica配置项。 如果以上版本及实例类型的实例,控制台中无only-replica配置项,可以联系客服放通该配置项的白名单。 yes client-output-buffer-limit-slave-soft-seconds 主从同步缓冲区大小超过client-output-buffer-slave-soft-limit主从同步缓冲区大小软限制,并持续时间超过此参数值时,服务端会主动断开连接。该参数值配置的越小,越容易断开连接。 - 0~60 单位:秒 60 client-output-buffer-slave-hard-limit 主从同步缓冲区大小硬限制。如果同步缓冲区大小超过这个值,则主从同步连接立即断开。该参数值配置的越小,越容易断开连接。 - 0~17,179,869,184 单位:字节 1,717,986,918 client-output-buffer-slave-soft-limit 主从同步缓冲区大小软限制。如果同步缓冲区大小超过这个值,并持续时间达到client-output-buffer-limit-slave-soft-seconds参数配置的秒数,则主从同步连接断开。该参数值配置的越小,越容易断开连接。 - 0~17,179,869,184 单位:字节 1,717,986,918 maxmemory-policy 内存使用达到上限(maxmemory)时,对缓存数据的逐出策略,有8个取值供选择。 - volatile-lru:根据LRU算法删除设置了过期时间的键值。 allkeys-lru:根据LRU算法删除任一键值。 volatile-random:删除设置了过期时间的随机键值。 allkeys-random:删除一个随机键值。 volatile-ttl:删除即将过期的键值,即TTL值最小的键值。 noeviction:不删除任何键值,只是返回一个写错误。 volatile-lfu: 根据LFU算法删除设置了过期时间的键值。 allkeys-lfu: 根据LFU算法删除任一键值。 详情可参考Redis官网的逐出策略。 volatile-lru 说明: 如果是2020年7月之前创建的Redis实例,且没有修改过该参数,则默认值为noeviction。如果是2020年7月之后创建的实例,默认值都为volatile-lru。 lua-time-limit Lua脚本的最长执行时间。 - 100~5,000 单位:毫秒 5,000 master-read-only 设置实例为只读状态。设置只读后,所有写入命令将返回失败。 Proxy集群实例不支持该参数。 yes no no maxclients 最大同时连接的客户端个数。客户端数量超过该配置值时,会发生连接失败。该参数值配置过大时,会增加服务器处理连接的开销,影响服务器性能,命令时延增大;该参数值配置过小,可能无法完全发挥服务器的性能。 该参数为单节点(单分片)连接数上限: 集群实例单节点连接数上限=实例连接数上限/分片数。 单机/主备实例,单节点连接数上限=实例最大连接数。 读写分离实例暂不支持该参数。 1,000~50,000 10,000 proto-max-bulk-len Redis协议中的最大的请求大小。该参数的配置值需要大于客户请求的长度,否则请求将无法执行。 - 1,048,576~536,870,912 单位:字节 536,870,912 repl-backlog-size 用于增量同步的复制积压缓冲区大小。这是一个用来在从节点断开连接时,存放从节点数据的缓冲区,当从节点重新连接时,如果丢失的数据少于缓冲区的大小,可以用缓冲区中的数据开始增量同步。 - 16,384~1,073,741,824 单位:字节 1,048,576 repl-backlog-ttl 从节点断开后,主节点释放复制积压缓冲区内存的秒数。值为0时表示永不释放复制积压缓冲区内存。 - 0~604,800 单位:秒 3,600 repl-timeout 主从同步超时时间。 单机实例不支持该参数。 30~3,600 单位:秒 60 hash-max-ziplist-entries 当hash表中记录数少于参数值,使用ziplist编码格式,节约内存。 - 1~10000 512 hash-max-ziplist-value 当hash表中各字段长度的最大值小于参数值时,使用ziplist编码格式,节约内存。 - 1~10000 64 set-max-intset-entries 当一个集合仅包含字符串且整型元素数量少于参数值时,使用intset编码格式,节约内存。 - 1~10000 512 zset-max-ziplist-entries 当有序集合中记录数少于参数值,使用ziplist编码格式,节约内存。 - 1~10000 128 zset-max-ziplist-value 当有序集合中各字段长度的最大值小于参数值时,使用ziplist编码格式,节约内存。 - 1~10000 64 latency-monitor-threshold 延时监控的采样时间阈值(最小值)。 当阈值设置为0时,不做监控,也不采样;当阈值设置为大于0时,将监控并记录执行耗时大于阈值的操作。 您可以通过LATENCY等命令获取统计数据和配置、执行采样监控。 说明: latency-monitor-threshold参数一般在定位问题时使用。采集完latency信息,定位问题后,建议重新将latency-monitor-threshold设置为0,以免引起不必要的延迟。 Proxy集群实例不支持该参数。 0~86400000 单位:毫秒 0 notify-keyspace-events 键空间通知,配置该参数后客户端可以通过Redis的订阅与发布功能,来接收那些以某种方式改动了Redis数据集的事件。该参数配置为空时,功能关闭。当参数不是空字符串时,功能开启。 Proxy集群实例不支持该参数。 可配置为以下字符的任意组合,指定了服务器该发送哪些类型的通知: K:键空间通知,所有通知以__keyspace@__为前缀。 E:键事件通知,所有通知以__keyevent@__为前缀。 g:DEL、EXPIRE、RENAME等类型无关的通用命令的通知。 $:字符串命令的通知。 l:列表命令的通知。 s:集合命令的通知。 h:哈希命令的通知。 z:有序集合命令的通知。 x:过期事件:每当有过期键被删除时发送。 e:驱逐(evict)事件:每当有键因为maxmemory政策而被删除时发送。 A:参数g$lshzxe的别名。 输入的参数中至少有一个K或者E,A不能与g$lshzxe同时出现,不能出现相同字母。例如,如果只想订阅键空间中和列表相关的通知,那么参数就应该设为Kl。将参数设为字符串"AKE"表示发送所有类型的通知。 Ex slowlog-log-slower-than Redis慢查询会记录超过指定执行时间的命令。slowlog-log-slower-than用于配置记录到redis慢查询命令执行时间阈值。 - 0~1,000,000 单位:微秒 10,000 proxy-slowlog-log-slower-than Proxy节点慢查询会记录超过指定执行时间的命令。proxy-slowlog-log-slower-than用于配置记录到proxy节点慢查询命令的执行时间阈值。 目前仅“华东-上海二”和“华南-广州”区域的Proxy集群和读写分离实例支持该参数。 30,000~2,000,000 单位:微秒 256,000 slowlog-max-len Redis慢查询记录的条数。注意慢查询记录会消耗额外的内存。可以通过执行SLOWLOG RESET命令清除慢查询记录。 - 0~1,000 128 proxy-slowlog-max-len Proxy节点慢查询记录的条数。注意慢查询记录会消耗额外的内存。可以通过执行SLOWLOG RESET命令清除慢查询记录。 目前仅“华东-上海二”和“华南-广州”区域的Proxy集群和读写分离实例支持该参数。 0~1,000 128 auto-kill-timeout-lua-process 开启该参数时,执行超时的lua脚本进程会被自动kill。如果lua脚本执行了写操作无法kill,并且实例开启了持久化时,则该lua脚本所在的节点会自动重启,lua脚本执行的写操作将不被保存。 单机实例和Redis 3.0实例不支持该参数。 yes:开启 no:关闭 no audit-log-customer-command-list 审计日志需要额外记录的命令。审计日志默认只记录写命令,该参数可以指定用户额外需要记录的命令。只有在开启了审计日志的情况下才有效。 审计日志目前为白名单特性,只有开启了审计日志白名单的用户,并且仅当实例类型为Proxy集群实例时,才显示该参数。 该参数配置的值必须由英文字母或与.-_组成的命令,且必须以英文字母开头和结尾,每个命令最大长度为10,最多支持配置10个命令。命令之间用空格隔开, 配置的内容最后必须以空格结尾。 - dispatch-pubsub-to-fixed-shard 该参数用于指定发布订阅的channel是否集中在0号槽位对应的分片上。开启开关时,发布订阅的处理逻辑与单机版一致。用户轻度使用发布订阅时,推荐开启开关。用户重度使用发布订阅功能时,请使用默认配置,让订阅分担到全部分片中。 仅Proxy集群实例支持该参数。 yes:开启开关。订阅的channel都集中在0号槽位对应的集群分片上。 no:关闭开关。根据订阅channel值计算出hash槽位值,再将channel分散到各个槽位对应的分片中。 no readonly-lua-route-to-slave-enabled 是否把只读账号的只读lua路由到从节点,如果开启,只读账号的只读lua可以执行,且会路由到从节点。 仅读写分离实例支持该参数。 yes:开启 no:关闭 no cluster-sentinel-enabled 实例兼容哨兵(Sentinel)模式。 仅Proxy集群实例支持该参数。 yes:开启 no:关闭 no scan-support-wr-split 该参数关闭时,scan命令在master节点执行,该参数开启后,scan命令将在slave节点执行。 开启该参数后,可以降低scan命令对主节点的压力,但对于新写入主节点的数据,可能无法第一时间在从节点查询到。 仅Proxy集群实例支持该参数。 如果历史创建的Proxy集群实例不支持该参数,请联系客服升级实例版本。 yes:开启 no:关闭 no 表2 Memcached缓存实例配置参数说明 参数名 参数解释 取值范围 默认值 timeout 客户端与服务端连接空闲超时断开时间,参数设为0表示连接永不断开。 0~7200 单位:秒 0 maxclients 最大同时连接的客户端个数。 1,000~10,000 10,000 maxmemory-policy 内存使用达到上限时对缓存数据管理策略。 volatile-lru:根据LRU算法删除设置了过期时间的键值。 allkeys-lru:根据LRU算法删除任一键值。 volatile-random:删除设置了过期时间的随机键值。 allkeys-random:删除一个随机键值。 volatile-ttl:删除即将过期的键值,即TTL值最小的键值。 noeviction:不删除任何键值,只是返回一个写错误。 noeviction reserved-memory-percent 预留给后台进程用于持久化、主从同步等内部处理的内存百分比(相对于最大可用内存的百分比)。 0-80 30
  • 修改或删除自定义模板 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“参数模板”,进入“参数模板”页面。 选择“自定义”。 如果需要修改自定义参数模板,可以通过以下两种方式进行修改。 单击需要修改的自定义模板右侧“操作”列下的“编辑”。 修改模板名称和描述。 在“配置参数”区域,在选项框选择“可修改参数”,在需要修改的配置参数对应的“参数运行值”列输入修改值。各参数的详细介绍见表1,一般情况下,按照系统默认值设置参数即可。 单击“确定”,完成修改配置参数。 单击自定义模板名称,进入模板的参数页面,可修改配置参数。 配置参数选择“可修改参数”。支持通过参数名称搜索对应的参数,直接在搜索栏输入关键字即可。 单击“修改”。 在需要修改的配置参数对应的“参数运行值”列输入修改值。各参数的详细介绍见表1,一般情况下,按照系统默认值设置参数即可。 单击“保存”,完成修改配置参数。 如果需要删除自定义模板,单击需要删除的自定义模板右侧“操作”列下的“删除”。 单击“是”,完成删除自定义参数模板。
  • 创建自定义参数模板 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“参数模板”,进入“参数模板”页面。 选择“系统默认”或者“自定义”页签,可针对系统默认模板或已经创建好的自定义模板进行新的自定义模板创建。 如果选择“系统默认”,则单击需要创建实例类型的系统默认模板右侧“操作”列下的“创建为自定义模板”。 如果选择“自定义”,则单击需要复制的自定义模板右侧“操作”列下的“复制”。 设置“模板名称”和“描述”。 模板名称长度为4到64位的字符串,以字母或者数字开头,模板名称只能包含字母、数字、中划线、下划线和点号。描述内容可以为空。 配置参数选择“可修改参数”。 当前支持通过参数名称搜索对应的参数,直接在搜索栏输入关键字即可。 在需要修改的配置参数对应的“参数运行值”列输入修改值。 各参数的详细介绍见表1,一般情况下,按照系统默认值设置参数即可。 表1 Redis缓存实例配置参数说明 参数名 参数解释 例外场景 取值范围 默认值 active-expire-num 定期删除过期键时随机检查key的数量。 如果增加该参数值,短时间内可能出现CPU使用率升高,命令时延增大,随后恢复正常。如果减小该参数值,内存中过期key数量可能上升,占用更多的内存。 Redis 3.0和Redis 6.0企业版实例不支持该参数。 说明: 该参数为2021年9月新增,在此之前创建的实例,如果无法正常修改参数值,请联系客服处理。 1~1,000 20 timeout 客户端空闲N秒(timeout参数的取值)后将断开连接。参数值为0表示禁用该功能,即客户端空闲不会断开连接。 - 0~7200 单位:秒 0 appendfsync 操作系统的fsync函数刷新缓冲区数据到磁盘,有些操作系统会真正刷新磁盘上的数据,其他一些操作系统只会尝试尽快完成。 单机实例不支持该参数。 no:不调用fsync,由操作系统决定何时刷新数据到磁盘,性能最高。 always:每次写AOF文件都调用fsync,性能最差,但数据最安全。 everysec:每秒调用一次fsync。兼具数据安全和性能。 no appendonly 指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。 单机实例不支持该参数。 yes:开启日志记录,即开启持久化功能。 no:关闭日志记录,即关闭持久化功能。 only-replica:仅开启从节点持久化功能。 说明: 仅Redis 4.0及以上版本的基础版主备或集群实例,或企业版高性能型主备实例支持only-replica配置项。 如果以上版本及实例类型的实例,控制台中无only-replica配置项,可以联系客服放通该配置项的白名单。 yes client-output-buffer-limit-slave-soft-seconds 主从同步缓冲区大小超过client-output-buffer-slave-soft-limit主从同步缓冲区大小软限制,并持续时间超过此参数值时,服务端会主动断开连接。该参数值配置的越小,越容易断开连接。 - 0~60 单位:秒 60 client-output-buffer-slave-hard-limit 主从同步缓冲区大小硬限制。如果同步缓冲区大小超过这个值,则主从同步连接立即断开。该参数值配置的越小,越容易断开连接。 - 0~17,179,869,184 单位:字节 1,717,986,918 client-output-buffer-slave-soft-limit 主从同步缓冲区大小软限制。如果同步缓冲区大小超过这个值,并持续时间达到client-output-buffer-limit-slave-soft-seconds参数配置的秒数,则主从同步连接断开。该参数值配置的越小,越容易断开连接。 - 0~17,179,869,184 单位:字节 1,717,986,918 maxmemory-policy 内存使用达到上限(maxmemory)时,对缓存数据的逐出策略,有8个取值供选择。 - volatile-lru:根据LRU算法删除设置了过期时间的键值。 allkeys-lru:根据LRU算法删除任一键值。 volatile-random:删除设置了过期时间的随机键值。 allkeys-random:删除一个随机键值。 volatile-ttl:删除即将过期的键值,即TTL值最小的键值。 noeviction:不删除任何键值,只是返回一个写错误。 volatile-lfu: 根据LFU算法删除设置了过期时间的键值。 allkeys-lfu: 根据LFU算法删除任一键值。 详情可参考Redis官网的逐出策略。 volatile-lru 说明: 如果是2020年7月之前创建的Redis实例,且没有修改过该参数,则默认值为noeviction。如果是2020年7月之后创建的实例,默认值都为volatile-lru。 lua-time-limit Lua脚本的最长执行时间。 - 100~5,000 单位:毫秒 5,000 master-read-only 设置实例为只读状态。设置只读后,所有写入命令将返回失败。 Proxy集群实例不支持该参数。 yes no no maxclients 最大同时连接的客户端个数。客户端数量超过该配置值时,会发生连接失败。该参数值配置过大时,会增加服务器处理连接的开销,影响服务器性能,命令时延增大;该参数值配置过小,可能无法完全发挥服务器的性能。 该参数为单节点(单分片)连接数上限: 集群实例单节点连接数上限=实例连接数上限/分片数。 单机/主备实例,单节点连接数上限=实例最大连接数。 读写分离实例暂不支持该参数。 1,000~50,000 10,000 proto-max-bulk-len Redis协议中的最大的请求大小。该参数的配置值需要大于客户请求的长度,否则请求将无法执行。 - 1,048,576~536,870,912 单位:字节 536,870,912 repl-backlog-size 用于增量同步的复制积压缓冲区大小。这是一个用来在从节点断开连接时,存放从节点数据的缓冲区,当从节点重新连接时,如果丢失的数据少于缓冲区的大小,可以用缓冲区中的数据开始增量同步。 - 16,384~1,073,741,824 单位:字节 1,048,576 repl-backlog-ttl 从节点断开后,主节点释放复制积压缓冲区内存的秒数。值为0时表示永不释放复制积压缓冲区内存。 - 0~604,800 单位:秒 3,600 repl-timeout 主从同步超时时间。 单机实例不支持该参数。 30~3,600 单位:秒 60 hash-max-ziplist-entries 当hash表中记录数少于参数值,使用ziplist编码格式,节约内存。 - 1~10000 512 hash-max-ziplist-value 当hash表中各字段长度的最大值小于参数值时,使用ziplist编码格式,节约内存。 - 1~10000 64 set-max-intset-entries 当一个集合仅包含字符串且整型元素数量少于参数值时,使用intset编码格式,节约内存。 - 1~10000 512 zset-max-ziplist-entries 当有序集合中记录数少于参数值,使用ziplist编码格式,节约内存。 - 1~10000 128 zset-max-ziplist-value 当有序集合中各字段长度的最大值小于参数值时,使用ziplist编码格式,节约内存。 - 1~10000 64 latency-monitor-threshold 延时监控的采样时间阈值(最小值)。 当阈值设置为0时,不做监控,也不采样;当阈值设置为大于0时,将监控并记录执行耗时大于阈值的操作。 您可以通过LATENCY等命令获取统计数据和配置、执行采样监控。 说明: latency-monitor-threshold参数一般在定位问题时使用。采集完latency信息,定位问题后,建议重新将latency-monitor-threshold设置为0,以免引起不必要的延迟。 Proxy集群实例不支持该参数。 0~86400000 单位:毫秒 0 notify-keyspace-events 键空间通知,配置该参数后客户端可以通过Redis的订阅与发布功能,来接收那些以某种方式改动了Redis数据集的事件。该参数配置为空时,功能关闭。当参数不是空字符串时,功能开启。 Proxy集群实例不支持该参数。 可配置为以下字符的任意组合,指定了服务器该发送哪些类型的通知: K:键空间通知,所有通知以__keyspace@__为前缀。 E:键事件通知,所有通知以__keyevent@__为前缀。 g:DEL、EXPIRE、RENAME等类型无关的通用命令的通知。 $:字符串命令的通知。 l:列表命令的通知。 s:集合命令的通知。 h:哈希命令的通知。 z:有序集合命令的通知。 x:过期事件:每当有过期键被删除时发送。 e:驱逐(evict)事件:每当有键因为maxmemory政策而被删除时发送。 A:参数g$lshzxe的别名。 输入的参数中至少有一个K或者E,A不能与g$lshzxe同时出现,不能出现相同字母。例如,如果只想订阅键空间中和列表相关的通知,那么参数就应该设为Kl。将参数设为字符串"AKE"表示发送所有类型的通知。 Ex slowlog-log-slower-than Redis慢查询会记录超过指定执行时间的命令。slowlog-log-slower-than用于配置记录到redis慢查询命令执行时间阈值。 - 0~1,000,000 单位:微秒 10,000 proxy-slowlog-log-slower-than Proxy节点慢查询会记录超过指定执行时间的命令。proxy-slowlog-log-slower-than用于配置记录到proxy节点慢查询命令的执行时间阈值。 目前仅“华东-上海二”和“华南-广州”区域的Proxy集群和读写分离实例支持该参数。 30,000~2,000,000 单位:微秒 256,000 slowlog-max-len Redis慢查询记录的条数。注意慢查询记录会消耗额外的内存。可以通过执行SLOWLOG RESET命令清除慢查询记录。 - 0~1,000 128 proxy-slowlog-max-len Proxy节点慢查询记录的条数。注意慢查询记录会消耗额外的内存。可以通过执行SLOWLOG RESET命令清除慢查询记录。 目前仅“华东-上海二”和“华南-广州”区域的Proxy集群和读写分离实例支持该参数。 0~1,000 128 auto-kill-timeout-lua-process 开启该参数时,执行超时的lua脚本进程会被自动kill。如果lua脚本执行了写操作无法kill,并且实例开启了持久化时,则该lua脚本所在的节点会自动重启,lua脚本执行的写操作将不被保存。 单机实例和Redis 3.0实例不支持该参数。 yes:开启 no:关闭 no audit-log-customer-command-list 审计日志需要额外记录的命令。审计日志默认只记录写命令,该参数可以指定用户额外需要记录的命令。只有在开启了审计日志的情况下才有效。 审计日志目前为白名单特性,只有开启了审计日志白名单的用户,并且仅当实例类型为Proxy集群实例时,才显示该参数。 该参数配置的值必须由英文字母或与.-_组成的命令,且必须以英文字母开头和结尾,每个命令最大长度为10,最多支持配置10个命令。命令之间用空格隔开, 配置的内容最后必须以空格结尾。 - dispatch-pubsub-to-fixed-shard 该参数用于指定发布订阅的channel是否集中在0号槽位对应的分片上。开启开关时,发布订阅的处理逻辑与单机版一致。用户轻度使用发布订阅时,推荐开启开关。用户重度使用发布订阅功能时,请使用默认配置,让订阅分担到全部分片中。 仅Proxy集群实例支持该参数。 yes:开启开关。订阅的channel都集中在0号槽位对应的集群分片上。 no:关闭开关。根据订阅channel值计算出hash槽位值,再将channel分散到各个槽位对应的分片中。 no readonly-lua-route-to-slave-enabled 是否把只读账号的只读lua路由到从节点,如果开启,只读账号的只读lua可以执行,且会路由到从节点。 仅读写分离实例支持该参数。 yes:开启 no:关闭 no cluster-sentinel-enabled 实例兼容哨兵(Sentinel)模式。 仅Proxy集群实例支持该参数。 yes:开启 no:关闭 no scan-support-wr-split 该参数关闭时,scan命令在master节点执行,该参数开启后,scan命令将在slave节点执行。 开启该参数后,可以降低scan命令对主节点的压力,但对于新写入主节点的数据,可能无法第一时间在从节点查询到。 仅Proxy集群实例支持该参数。 如果历史创建的Proxy集群实例不支持该参数,请联系客服升级实例版本。 yes:开启 no:关闭 no maxclients、reserved-memory-percent、client-output-buffer-slave-soft-limit、client-output-buffer-slave-hard-limit参数的默认值和取值范围与实例规格有关,因此参数模板不显示该四个参数。 表1中的内存优化相关参数可以参考Redis官网说明,链接:https://redis.io/topics/memory-optimization。 单击“确定”,完成创建自定义参数模板。
  • Redis实例配置ELB内网IP白名单(可选) 如果Redis开启了IP白名单,需要将ELB内网IP地址添加到Redis实例的IP白名单中,以确保ELB可以访问Redis实例: 单击“公网访问”中ELB后的链接,跳转到负载均衡器页面。 复制页面中的ELB“ID”。 单击页面中“IPv4私有地址”后的地址,跳转到对应子网页面。 选择“IP地址管理”页签,在第二个搜索框中筛选资源ID(已复制的ELB ID),获取ELB内网IP地址。 将ELB的全部内网IP地址添加到Redis的IP白名单中,添加方式请参考配置Redis访问白名单。
  • 前提条件 准备弹性负载均衡ELB,创建ELB的操作,请参考创建独享型负载均衡器。创建的ELB必须符合以下条件。如果已有符合条件的ELB,无需重复创建。 ELB的实例类型必须选择“独享型”,且必须开启“IP类型后端(跨VPC后端)”。 ELB的规格中必须包含“网络型(TCP/UDP)”。 ELB必须选择与Redis实例相同的VPC。 ELB必须绑定弹性公网IP(EIP)。 ELB必须有可用的端口。 单个ELB挂载多个实例时,Redis的性能会受限于ELB的规格。 为保护Redis实例的网络安全性,Redis实例必须配置访问密码,免密访问的实例不支持开启公网访问。如需修改免密访问的实例为密码访问,请参考重置缓存实例密码。
  • 开启公网访问并获取公网访问地址 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”,进入缓存管理页面。 单击需要开启公网访问的实例名称,进入该实例的基本信息页面。 单击“公网访问”后的“开启”。 在开启公网访问弹窗中勾选需要绑定的ELB,单击“确定”。 如果没有可选的ELB,单击页面提示的“弹性负载均衡”跳转链接,可前往ELB控制台页面进行创建。如果已经创建了ELB,未在ELB选择列表中,请参考前提条件中的说明排查ELB是否符合绑定条件。 Redis实例绑定ELB期间,请勿删除绑定的ELB和监听器,并保证ELB可用,否则会影响Redis的正常公网连接。 如果需要删除ELB实例,请先在Redis实例详情页面解除绑定(关闭公网连接),再在ELB控制台删除ELB实例。 图1 绑定ELB 开启公网公网状态显示“成功”后,表示开启公网访问成功。 单击左侧菜单栏的“概览”,返回实例基本信息页面查看公网访问信息。如需关闭公网访问,单击“关闭”。 下图中的“EIP”地址为Redis实例的公网访问地址,“监听器”后的端口号为公网访问的端口。 图2 公网访问连接地址 主备实例开启公网访问后,会生成两个监听器。一个主节点监听器(以listener-master开头)和一个备节点监听器(以listener-slave开头),分别用于监听实例的主节点和备节点。公网连接主备实例时请使用主监听器后的端口用于连接主备实例的主节点。仅当需要配置主备实例读写分离时,需要同时使用主、备监听器端口,分别连接主、备节点。 图3 主备实例公网连接地址 连接信息中的“连接地址”及“IP地址”为相同VPC内客户端访问Redis时的“ 域名 地址:端口”和“IP地址:端口”。
  • 检查网络 检查源Redis、目标Redis、迁移任务资源所在VPC是否为同一个VPC。 如果是,请执行配置在线迁移任务;如果不是,请执行2。 检查源Redis的VPC、目标Redis的VPC、迁移任务资源所在VPC的网络是否打通,确保迁移任务的虚拟机资源能访问源Redis和目标Redis。 如果已打通,则执行配置在线迁移任务;如果没打通,则执行3。 源Redis和目标Redis属于不同的云厂商,仅支持云专线打通网络,请参考云专线。
  • 配置在线迁移任务 创建完在线迁移任务之后,单击该迁移任务右侧的“配置”,配置在线迁移的源Redis、目标Redis等信息。 选择迁移方法。 支持“全量迁移”和“全量迁移+增量迁移”两种,“全量迁移”和“全量迁移+增量迁移”的功能及限制如表1所示。 表1 在线迁移方法说明 迁移类型 描述 全量迁移 该模式为Redis的一次性迁移,适用于可中断业务的迁移场景。全量迁移过程中,如果源Redis有数据更新,这部分更新数据不会被迁移到目标Redis。 全量迁移+增量迁移 该模式为Redis的持续性迁移,适用于对业务中断敏感的迁移场景。增量迁移阶段通过解析日志等技术, 持续保持源Redis和目标端Redis的数据一致。 增量迁移,迁移任务会在迁移开始后,一直保持迁移中状态,不会自动停止。需要您在合适时间,在“操作”列单击“停止”,手动停止迁移。停止后,源端数据不会造成丢失,只是目标端不再写入数据。增量迁移在传输链路网络稳定情况下是秒级时延,具体的时延情况依赖于网络链路的传输质量。 图1 选择迁移方法 仅当迁移方法选择“全量迁移+增量迁移”时,支持选择是否启用“带宽限制”。 如果启用带宽限制功能,当数据同步速度达到带宽限制时,将限制同步速度的继续增长。 选择是否“自动重连”。如开启自动重连模式,迁移过程中在遇到网络等异常情况时,会无限自动重连。 自动重连模式在无法进行增量同步时,会触发全量同步,增加带宽占用,请谨慎选择。 分别配置“源Redis”和“目标Redis”。 配置“源Redis类型”和“源Redis实例”: “源Redis类型”请选择“自建Redis”,并在“源Redis实例”处输入源Redis的IP地址和端口。 如果源Redis为Cluster集群,需要输入集群所有主节点的IP端口,用英文逗号隔开。例如:192.168.1.1:6379,192.168.0.0:6379 配置“目标Redis类型”和“目标Redis实例”: “目标Redis类型”请选择“云服务Redis”,并在“目标Redis实例”处选择需要迁移的目标Redis。 分别配置“源Redis实例密码”和“目标Redis实例密码”:如果是密码访问模式实例,在输入连接实例密码后,单击密码右侧的“测试连接”,检查实例密码是否正确、网络是否连通。如果是免密访问的实例,请直接单击“测试连接”。如果测试连接失败,请检查输入的实例密码是否正确、Redis实例与迁移任务网络是否打通。 如果是DCS服务的Redis实例,此处暂不支持使用账号管理功能中创建的ACL账号及密码。 在“源DB”或“目标DB”中,您可以选择是否需要指定具体迁移的DB。例如源端输入5,目标端输入6时,表示迁移源Redis DB5中的数据到目标Redis的DB6;当源端不指定DB,目标端指定DB时,表示默认迁移源端的全部数据,到目标端指定的DB,当目标端不指定DB时,表示默认迁移到与源端对应的DB。 当源端为多DB,目标端为单DB的DCS实例时(单DB的实例只有DB0),需要源端的所有数据都在DB0,或者指定仅迁移源端某一DB中的数据并将目标端DB指定为0,否则会迁移失败。 DCS Redis的DB数请参见Redis实例是否支持多DB方式?。 单击“下一步”。 确认迁移信息,然后单击“提交”,开始创建迁移任务。 可返回迁移任务列表中,观察对应的迁移任务的状态,迁移成功后,任务状态显示“成功”。 如果出现迁移失败,建议单击迁移任务名称,进入迁移任务详情页面,通过“迁移日志”排查迁移失败的原因。 如果是增量迁移,全量迁移后会一直处于增量迁移中的状态。 如需手动停止迁移中的任务,勾选迁移任务左侧的方框,单击迁移任务上方的“停止”,即可停止迁移。 勾选停止迁移或迁移失败的迁移任务,单击迁移任务上方的“重启”,可重新进行迁移。如果重启迁移任务后迁移失败,建议单击“配置”,重新配置在线迁移任务后重试。 单次最多支持勾选50个在线迁移任务,批量停止、删除、或重启迁移任务。