华为云用户手册

  • 前提条件 已成功创建Memcached实例,且状态为“运行中”。 已创建弹性云服务器,并已安装好客户端。创建弹性云服务器的方法,请参见《弹性云服务器用户指南》。 您创建的弹性云服务器必须与Memcached实例属于同一个VPC,并配置相同的安全组,以确保弹性云服务器与缓存实例的网络是连通的。 如果弹性云服务器与Memcached实例不在相同VPC中,可以通过建立VPC对等连接方式连通网络,具体请参考常见问题:缓存实例是否支持跨VPC访问? 如果弹性云服务器与Memcached实例配置了不同的安全组,可以通过设置安全组规则连通网络,具体请参考常见问题:如何选择和配置安全组?
  • 功能说明 本节定义了D CS 服务上报 云监控服务 的监控指标的命名空间,监控指标列表和维度定义,用户可以通过 云监控 服务提供管理控制台或API接口来检索DCS服务产生的监控指标和告警信息。 实例监控指标差异如下: 表1 实例监控指标差异 实例类型 实例级监控 数据节点级监控 Proxy节点级监控 单机 支持 只有实例级别的监控指标,实例监控即为数据节点监控。 不涉及 不涉及 主备 支持 实例监控是指对主节点的监控。 支持 数据节点监控分别是对主节点和备节点的监控。 不涉及 读写分离 支持 实例监控是指对主节点的监控。 支持 数据节点监控分别是对主节点和备节点的监控。 支持 Proxy节点监控是对实例中每个Proxy节点的监控。 Proxy集群 支持 实例监控是对集群所有主节点数据汇总后的监控。 支持 数据节点监控是对集群每个分片的监控。 支持 Proxy节点监控是对集群每个Proxy节点的监控。 Cluster集群 支持 实例监控是对集群所有主节点数据汇总后的监控。 支持 数据节点监控是对集群每个分片的监控。 不涉及
  • Python-binary-memcached客户端连接Memcached 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”,进入缓存实例信息页面。 单击需要使用的其中一个Memcached实例的名称,进入该Memcached实例的基本信息页面。查看并获取该Memcached实例的IP地址/ 域名 和端口。 将已获取的python-binary-memcached-x.y.z.zip依赖包上传到已创建的弹性云服务器,假设下载得到的包名为python-binary-memcached-x.y.z.zip。 登录弹性云服务器。 执行如下命令安装依赖包。 unzip -xzvf python-binary-memcached-x.y.z.zip cd python-binary-memcached-x.y.z python setup.py install 如以上步骤安装报错,可使用apt或yum方式安装依赖包,如apt方式安装的具体命令如下: apt install python-pip; pip install python-binary-memcached; 新建Python文件如dcs_test.py,将如下Python代码复制到dcs_test.py文件并修改代码。 密码模式代码示例 其中ip or domain name:port需要修改为4获取的Memcached实例IP地址/域名和端口。userName和password需要修改为Memcached实例的用户名和密码。 import bmemcached client = bmemcached.Client(('ip or domain name:port'), 'userName', 'password') print "set('key', 'hello world!')" print client.set('key', 'hello world!') print "get('key')" print client.get('key') 免密模式代码示例 其中ipor domain name:port需要修改为4获取的Memcached实例IP地址/域名和端口。 import bmemcached client = bmemcached.Client('ip or domain name:port') print "set('key', 'hello world!')" print client.set('key', 'hello world!') print "get('key')" print client.get('key') 运行dcs_test.py文件,可以看到如下结果。 # python test.py set('key', 'hello world!') True get('key') hello world!
  • 前提条件 已成功创建Memcached实例,且状态为“运行中”。 已创建弹性云服务器。创建弹性云服务器的方法,请参见《弹性云服务器用户指南》。 您创建的弹性云服务器必须与Memcached实例属于同一个VPC,并配置相同的安全组,以确保弹性云服务器与缓存实例的网络是连通的。 如果弹性云服务器与Memcached实例不在相同VPC中,可以通过建立VPC对等连接方式连通网络,具体请参考常见问题:缓存实例是否支持跨VPC访问? 如果弹性云服务器与Memcached实例配置了不同的安全组,可以通过设置安全组规则连通网络,具体请参考常见问题:如何选择和配置安全组? 弹性云服务器已安装好Python,建议为2.7.6或更高版本。 已获取python-binary-memcached-x.y.z.zip依赖包。 其中x.y.z为依赖包的版本号,建议获取最新版本。
  • 导出备份文件 执行命令进入解压后的RedisShake文件目录。 cd bin 编辑RedisShake工具配置文件redis-shake.conf,补充源端所有master节点的连接信息。 vim redis-shake.conf 修改内容如下: source.type = cluster #如果无密码,本项不填 source.password_raw = {source_redis_password} #源Cluster集群所有master节点的IP地址与端口,以分号分隔 source.address = {master1_ip}:{master1_port};{master2_ip}:{master2_port}…{masterN_ip}:{masterN_port} 修改后按下Esc键退出编辑模式,输入:wq!按回车键保存配置并退出编辑界面。 执行以下命令导出源Redis集群的RDB格式备份文件。 ./redis-shake -type dump -conf redis-shake.conf 执行日志中出现如下信息时导出备份文件完成: execute runner[*run.CmdDump] finished!
  • 安装RedisShake 登录弹性 云服务器ECS 。 在ECS中执行以下命令下载RedisShake。本文以下载2.1.2版本为例,您可以根据实际需要下载其他RedisShake版本。 wget https://github.com/tair-opensource/RedisShake/releases/download/release-v2.1.2-20220329/release-v2.1.2-20220329.tar.gz 执行命令解压RedisShake文件。 tar -xvf release-v2.1.2-20220329.tar.gz 如果源Cluster部署在数据中心内网,则需在内网服务器上安装RedisShake,并参考导出备份文件导出源Cluster备份文件,然后将备份文件上传到云服务器。
  • 导入备份文件 将导出的RDB备份文件(含多个)上传到与云服务器上。云服务器与目标端DCS Cluster集群实例的网络连通。 编辑RedisShake工具配置文件redis-shake.conf。补充目标端所有master节点的连接信息。 vim redis-shake.conf 修改内容如下: target.type = cluster #如果无密码,本项不填 target.password_raw = {target_redis_password} #目标Cluster集群所有master节点的IP地址与端口,以分号分隔 target.address = {master1_ip}:{master1_port};{master2_ip}:{master2_port}…{masterN_ip}:{masterN_port} #需要导入的rdb文件列表,用分号分隔 rdb.input = {local_dump.0};{local_dump.1};{local_dump.2};{local_dump.3} 修改后按下Esc键退出编辑模式,输入:wq!按回车键保存配置并退出编辑界面。 使用如下命令导入RDB备份文件到目标Cluster集群: ./redis-shake -type restore -conf redis-shake.conf 执行日志中出现如下信息时导入备份文件完成: Enabled http stats, set status (incr), and wait forever.
  • 获取源Redis和目标Redis节点信息 分别连接源端和目标端Redis。连接Redis的方法请参考Redis-cli客户端连接Redis。 在线迁移Cluster集群时需要将Cluster集群各个节点数据分别迁移。执行如下命令分别查询源端和目标Cluster集群的所有节点的IP地址与端口: redis-cli -h {redis_address} -p {redis_port} -a {redis_password} cluster nodes {redis_address}为Redis的连接地址,{redis_port}为Redis的端口,{redis_password}为Redis的连接密码。 在命令返回的结果中,获取所有master节点的IP端口,如下图所示。
  • 修改或删除自定义模板 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“参数模板”,进入“参数模板”页面。 选择“自定义”。 如果需要修改自定义参数模板,可以通过以下两种方式进行修改。 单击需要修改的自定义模板右侧“操作”列下的“编辑”。 修改模板名称和描述。 在“配置参数”区域,在选项框选择“可修改参数”,在需要修改的配置参数对应的“参数运行值”列输入修改值。各参数的详细介绍见表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慢查询记录的条数。注意慢查询记录会消耗额外的内存。可以通过执行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个命令。命令之间用空格隔开, 配置的内容最后必须以空格结尾。 - backend-master-only Proxy集群实例默认关闭读写分离。读、写请求默认只分配到Proxy集群的主节点。 Proxy集群实例开启读写分离后,写请求分配到主节点,读请求会默认转发给slave节点。当read-only-slave-when-wr-split参数配置为no时,读请求平均分配到Proxy集群的主节点和备节点。 仅Proxy集群实例支持该参数。 yes:关闭读写分离。 no:开启读写分离。 yes read-only-slave-when-wr-split Proxy集群和读写分离实例默认仅在slave节点进行读操作,支持配置为在master和slave节点都进行读操作。 仅Proxy集群和读写分离实例支持该参数,且仅当实例开启读写分离时生效。 读写分离实例默认已开启读写分离。Proxy集群实例需要手动开启读写分离(设置backend-master-only参数为no)。 yes:仅在slave节点进行读操作。 no:在master和slave节点都进行读操作。 yes 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。 单击“确定”,完成创建自定义参数模板。
  • 恢复DCS实例数据 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”。 “缓存管理”页面支持通过筛选来查询对应的缓存实例。支持的筛选条件有“名称”、“规格”、“ID”、“IP地址”、“可用区”、“状态”、“实例类型”、“缓存类型”等。 在需要备份的DCS缓存实例左侧,单击实例名称,进入实例的基本信息页面。 单击“备份与恢复”页签,进入备份恢复管理页面。 页面下方显示历史备份数据列表。 选择需要恢复的历史备份数据,单击右侧的“恢复”,弹出实例恢复窗口。 单击“确定”,开始执行实例恢复任务。 备注说明最长不能超过128个字节。 您可以在“恢复记录”页签查询当前实例恢复任务执行结果,该页签会展示实例的所有恢复记录,不支持删除恢复记录。 实例恢复需耗时1~30分钟。 恢复过程中,实例会有一段时间不能处理客户端的数据操作请求,当前数据将被删除,待恢复完成后存储原有备份数据。
  • 前提条件 已成功创建Memcached实例,且状态为“运行中”。 已创建弹性云服务器。创建弹性云服务器的方法,请参见《弹性云服务器用户指南》。 您创建的弹性云服务器必须与Memcached实例属于同一个VPC,并配置相同的安全组,以确保弹性云服务器与缓存实例的网络是连通的。 如果弹性云服务器与Memcached实例不在相同VPC中,可以通过建立VPC对等连接方式连通网络,具体请参考常见问题:缓存实例是否支持跨VPC访问? 如果弹性云服务器与Memcached实例配置了不同的安全组,可以通过设置安全组规则连通网络,具体请参考常见问题:如何选择和配置安全组? 您的弹性云服务器已安装好GCC,建议为4.8.4或更高版本。 已获取libmemcached-x.y.z.tar.gz依赖包。 其中x.y.z为依赖包的版本号,建议获取最新版本。
  • 查看DCS实例后台任务 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”。 “缓存管理”页面支持通过筛选来查询对应的缓存实例。支持的筛选条件有“名称”、“规格”、“ID”、“IP地址”、“可用区”、“状态”、“实例类型”、“缓存类型”等。 单击需要查看的缓存实例左侧的实例名称,进入该实例的基本信息页面。 单击“后台任务”,查看后台任务列表。 可以通过选择任务的时间段,输入任务属性或关键字筛选任务。 单击,刷新任务状态。 单击“操作”列下的“删除”,清理任务信息。 您只能在任务已经执行完成,即任务状态为成功或者失败时,才能执行删除操作。
  • 手动备份DCS实例数据 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”。 “缓存管理”页面支持通过筛选来查询对应的缓存实例。支持的筛选条件有“名称”、“规格”、“ID”、“IP地址”、“可用区”、“状态”、“实例类型”、“缓存类型”等。 在需要备份的DCS缓存实例左侧,单击实例名称,进入实例的基本信息页面。 单击“备份与恢复”页签,进入备份与恢复管理页面。 单击“手动备份”,弹出手动备份窗口。 选择备份格式,支持选择RDB格式或AOF格式。 Redis 4.0及以上基础版和企业版高性能型实例支持选择RDB或AOF备份格式,企业版存储型实例仅支持RDB格式,Redis 3.0实例仅支持RDB格式。 AOF格式的备份会优先在从节点备份,从节点AOF会被重写。 单击“确定”,开始执行手工备份任务。 备注说明最长不能超过128个字节。 实例备份需耗时10~15分钟,备份期间发生的数据新增或修改记录,将不会保存到备份数据中。
  • 升级影响 建议在业务低峰期执行实例小版本升级。业务高峰期(如实例内存利用率、CPU利用率达到90%以上或写入流量过大)升级可能会失败,若升级失败,请在业务低峰期再次尝试升级。 实例升级小版本采用节点迁移的方式,在数据迁移过程中,访问时延会增大,每迁移一个分片会发生一次秒级闪断和一分钟以内的只读,请确保客户端应用具备重连机制和处理异常的能力。 实例升级代理版本过程中会发生秒级连接闪断,请确保客户端应用具备重连机制和处理异常的能力,建议在业务低峰期升级。
  • 升级DCS实例小版本/代理版本 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”。 在“缓存管理”页面,单击DCS缓存实例的名称,进入实例详情页面。 在“基本信息”区域,可以查看或选择升级实例的小版本和代理版本(仅Proxy集群和读写分离实例涉及代理版本)。 图1 升级实例小版本/代理版本 升级小版本 单击“小版本”后的“升级小版本”。 如果需要同步升级实例的代理版本,在弹出的升级小版本窗口中开启“是否同步升级代理版本”。 单击“确定”,提交实例升级任务。待升级版本任务的状态显示“成功”后,升级版本完成。 升级代理版本 单击“代理版本”后的“升级代理版本”。 如果需要同步升级实例的小版本,在弹出的升级小版本窗口中开启“是否同步升级小版本”。 单击“确定”,提交实例升级任务。待升级版本任务的状态显示“成功”后,升级版本完成。
  • 查看参数模板信息 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“参数模板”。 在“参数模板”页面,选择“系统默认”或者“自定义”。 查询参数模板。 当前支持通过模板名称搜索对应的参数模板,直接在搜索栏输入关键字即可。 在需要查看的参数模板左侧,单击该模板名称,进入模板的参数页面。各参数的详细介绍见表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个命令。命令之间用空格隔开, 配置的内容最后必须以空格结尾。 - backend-master-only Proxy集群实例默认关闭读写分离。读、写请求默认只分配到Proxy集群的主节点。 Proxy集群实例开启读写分离后,写请求分配到主节点,读请求会默认转发给slave节点。当read-only-slave-when-wr-split参数配置为no时,读请求平均分配到Proxy集群的主节点和备节点。 仅Proxy集群实例支持该参数。 yes:关闭读写分离。 no:开启读写分离。 yes read-only-slave-when-wr-split Proxy集群和读写分离实例默认仅在slave节点进行读操作,支持配置为在master和slave节点都进行读操作。 仅Proxy集群和读写分离实例支持该参数,且仅当实例开启读写分离时生效。 读写分离实例默认已开启读写分离。Proxy集群实例需要手动开启读写分离(设置backend-master-only参数为no)。 yes:仅在slave节点进行读操作。 no:在master和slave节点都进行读操作。 yes 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。
  • 缓存实例配置参数说明 表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个命令。命令之间用空格隔开, 配置的内容最后必须以空格结尾。 - backend-master-only Proxy集群实例默认关闭读写分离。读、写请求默认只分配到Proxy集群的主节点。 Proxy集群实例开启读写分离后,写请求分配到主节点,读请求会默认转发给slave节点。当read-only-slave-when-wr-split参数配置为no时,读请求平均分配到Proxy集群的主节点和备节点。 仅Proxy集群实例支持该参数。 yes:关闭读写分离。 no:开启读写分离。 yes read-only-slave-when-wr-split Proxy集群和读写分离实例默认仅在slave节点进行读操作,支持配置为在master和slave节点都进行读操作。 仅Proxy集群和读写分离实例支持该参数,且仅当实例开启读写分离时生效。 读写分离实例默认已开启读写分离。Proxy集群实例需要手动开启读写分离(设置backend-master-only参数为no)。 yes:仅在slave节点进行读操作。 no:在master和slave节点都进行读操作。 yes 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
  • 查看和修改DCS实例基本信息 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”。 在缓存管理页面,查询DCS缓存实例。 支持通过关键字搜索对应的DCS缓存实例。 直接在搜索栏输入关键字即可。 支持通过指定属性的关键字查询对应的DCS缓存实例。 当前支持的属性有“名称”、“规格”、“ID”、“IP地址”、“可用区”、“状态”、“实例类型”、“缓存类型”等。 例如,单击搜索栏,选择过滤属性“缓存类型”, 可选择缓存类型(Redis 3.0、Redis 4.0、Redis 5.0和Redis 6.0)过滤DCS缓存实例。 更多的搜索设置帮助,请单击搜索栏右侧的搜索帮助。 在需要查看的DCS缓存实例左侧,单击该实例的名称,进入实例的基本信息页面。参数说明如表1所示。 表1 参数说明 信息类型 参数 说明 基本信息 名称 DCS缓存实例的名称。单击“名称”后的可以修改实例名称。 状态 DCS缓存实例状态。 ID DCS缓存实例的ID。 缓存类型 DCS的缓存版本。例如,基础版Redis 4.0。 实例创建后,不支持修改缓存版本,如需使用其他版本,建议重新创建实例并进行数据迁移。 小版本 DCS缓存实例的小版本号。DCS会不定期升级产品小版本,优化产品功能和修复产品缺陷,单击“升级小版本”可以升级实例的小版本到最新版本。 说明: 默认不支持“升级小版本”,如需升级小版本,请联系客服开通白名单。 建议在业务低峰期执行实例升级。业务高峰期(如实例内存利用率、CPU利用率达到90%以上或写入流量过大)升级可能会失败,若升级失败,请在业务低峰期再次尝试升级。 实例升级采用节点迁移的方式,在数据迁移过程中,访问时延会增大,每迁移一个分片会发生一次秒级闪断和一分钟以内的只读,请确保客户端应用具备重连机制和处理异常的能力。 Cluster集群请确保客户端能正常处理MOVED和ASK命令,否则会导致请求失败。 仅Redis 4.0及以上基础版实例显示该参数,企业版实例不支持升级小版本。 如果实例已经为最新小版本,不支持升级。 升级小版本不会改变实例的连接地址、访问密码、白名单配置、参数及告警配置等信息。 代理版本 DCS缓存实例的Proxy代理节点版本号,仅Proxy集群和读写分离实例显示代理版本,其他实例类型不涉及。DCS会不定期升级产品的代理版本,优化产品功能和修复产品缺陷,单击“升级代理版本”可以升级实例的代理版本到最新版本。 说明: 默认不支持“升级代理版本”,如需升级代理版本,请联系客服开通白名单。 实例升级过程中会发生秒级连接闪断,请确保客户端应用具备重连机制和处理异常的能力,建议在业务低峰期升级。 如果实例已经为最新代理版本,不支持升级。 升级代理版本不会改变实例的连接地址、访问密码、白名单配置、参数及告警配置等信息。 实例类型 DCS缓存实例类型,支持“单机”、“主备”、“Proxy集群”、“Cluster集群”和“读写分离”。 如需变更实例类型,请参考变更DCS实例规格了解支持变更的实例类型、变更实例类型的注意事项和操作步骤。 规格(GB) DCS缓存实例规格。 如需变更实例规格,请参考变更DCS实例规格了解变更实例规格的注意事项和操作步骤。 带宽 DCS缓存实例的带宽。 单击“调整带宽”可以调整实例的带宽值,详情请参考调整实例带宽。 已用/可用内存 (MB) DCS缓存实例已经使用的内存量和您可以使用的最大内存量。 已使用的内存量包括两部分: 用户存储的数据; Redis-server内部的buffer(如client buffer、repl-backlog等),以及内部的数据结构。 CPU DCS缓存实例的CPU架构。只有Redis实例才会显示该字段。实例创建后,不支持变更CPU架构。 企业项目 实例的企业项目。单击参数后的可以切换实例的企业项目。 企业项目可提供资源/人员/财务等隔离,修改企业项目会修改以上内容的隔离目标。 维护时间窗 运维操作时间。单击参数后的可以修改时间窗。 在下拉框中选择新的维护时间窗,单击保存修改,单击取消修改。 修改成功后立即生效。 描述 DCS缓存实例的描述信息。单击“描述”后的可以修改描述信息。 连接信息 访问方式 根据是否配置访问密码,访问方式分为“密码访问”和“免密访问”。 如需变更密码访问方式,请参考配置Redis访问密码。 连接地址 同一VPC内客户端连接Redis缓存实例时的域名地址和端口。 单击“连接地址”后的可以修改端口。实例创建后,不支持修改连接地址。 说明: 如果是Redis 4.0及以上版本的主备实例,“连接地址”表示主节点的域名和端口号,“只读地址”,表示备节点的域名和端口号。客户端连接时,可选择主节点或备节点的域名和端口号,详情请参考主备实例架构。 仅Redis 4.0及以上版本的基础版实例支持修改端口,Redis 3.0实例、Redis 6.0企业版和Memcached实例不支持。 IP地址 同一VPC内客户端连接DCS缓存实例的IP地址和端口。 单击IP地址后的可以修改实例的端口。实例创建后,不支持修改IP地址。在连接实例时,建议优先使用域名地址进行连接。 公网访问 目前仅Redis 3.0实例默认支持开启公网访问。开启Redis 3.0实例公网访问,请参考公网连接Redis 3.0(Redis 3.0已停售)。其他版本暂不支持公网访问。 如果是Redis 4.0、Redis 5.0和Redis 6.0版本的实例,需要先联系客服开通公网访问白名单后,才支持开启公网访问。开启Redis 4.0/5.0/6.0实例公网访问、及获取公网访问地址的操作,请参考开启Redis公网访问并获取公网访问地址。 Memcached(已停售)不支持公网访问。 网络信息 可用区 缓存实例节点所属的可用区。 对于单可用区的多副本集群实例,支持变更备节点可用区,具体请参考变更DCS集群实例为多可用区。其他场景均不支持变更可用区。 虚拟私有云 DCS缓存实例所在的私有网络。实例创建后,不支持修改虚拟私有云。 子网 DCS缓存实例所属子网。实例创建后,不支持修改子网。 安全组 DCS缓存实例所关联的安全组。单击“安全组”后的可以修改安全组。 在下拉框选择新的安全组,单击保存修改,单击取消修改。修改成功后立即生效。 当前仅Redis 3.0、Redis 6.0企业版和Memcached支持安全组访问控制,Redis 4.0、Redis 5.0和Redis 6.0基础版实例是基于VPCEndpoint,暂不支持安全组,建议配置实例白名单。 说明: 此处只能下拉选择已创建的安全组,若需要重新配置安全组,可参考如何选择和配置安全组。 实例拓扑 - 查看实例拓扑图,将鼠标移动到具体节点图标,可以查看该节点的总体监控信息,或者单击节点图标,可以查看节点历史监控信息。 单机实例不显示实例的拓扑图。 付费信息 计费方式 DCS缓存实例的计费方式。如需变更计费方式,请参考变更计费模式概述。 创建时间 DCS缓存实例开始创建时间。 运行时间 DCS缓存实例完成创建时间。
  • 约束与限制 目前仅Redis 4.0及以上版本的基础版实例支持规格自动扩缩容,Redis6.0企业版实例不支持。 规格小于4GB的实例不支持规格自动扩缩容功能。 目前仅支持自动扩容为比原规格更大的规格,不支持自动缩容为比原规格更小的规格。如果是集群实例,仅支持垂直扩容,不支持水平扩容。 实例通过条件触发的方式自动扩容后,不支持自动缩容,自动扩容后如需缩容,请参考变更DCS实例规格手动执行规格变更。 Redis实例配置规格自动扩缩容策略后,如果执行实例规格变更(副本数变更除外),变更前已应用的自动扩缩容策略会自动失效。
  • 配置Redis实例规格自动扩缩容策略 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”。 在“缓存管理”页面,单击DCS缓存实例的名称。 在缓存实例的“基本信息”栏中,单击“规格”后的“自动扩缩容”。 图1 自动扩缩容 在弹出的“自动扩缩容”窗口,单击“新增策略”,增加自动扩缩容策略。 设置策略名称。 策略名称的长度范围为4~64个字符。名称中只能包含中文、英文字母、数字、中划线、下划线、点,且必须以字母、中文或数字开头。 选择规格扩缩容触发方式,并设置对应触发参数。 条件触发:在满足设定条件的场景下自动扩大实例规格。如果选择条件触发,请参考表1设置触发条件。 定时触发:根据设定的开始时间触发实例自动扩容,并在设定的恢复时间恢复原规格。如果选择定时触发,请参考表2设置触发条件。 表1 条件触发参数说明 参数 参数说明 内存平均使用率不小于 选择触发实例扩容的内存平均使用率阈值(单位:%)。例如设置为70%时,当实例的内存使用率≥70%,会触发实例自动扩容。 规格上限 设置实例扩容的规格上限(单位:GB),请选择大于实例当前规格的上限值。例如实例原规格为4GB,设置的规格上限为32GB,当触发扩容条件时,实例会扩容为8GB,扩容后如果再次触发扩容条件,会继续扩容为16GB,最大自动扩容规格不会超过32GB。 说明:实例通过条件触发的方式自动扩容后,不支持自动缩容。自动扩容后如需缩容,请参考变更DCS实例规格手动执行规格变更。 观测窗口 内存平均使用率的观测时间(单位:分钟),默认值:5。 例如观测窗口时间设置为5分钟时,则内存平均使用率的数据取值为5分钟内的监控数据。 静默时间 扩容操作的静默时间(单位:秒),默认值:0。 当实例规格自动扩容后,如果再次监测到内存平均使用率超过阈值,实例在设置的静默时间内不会立即扩容,设置静默时间可以避免实例连续进行规格的自动扩容。 表2 定时触发参数说明 参数 参数说明 执行操作 选择实例需要调整的实例规格。 生效日期 选择调整实例规格的开始日期和结束日期。 重复周期 选择实例规格定时扩缩容的的重复周期为“仅执行一次”、“按天执行”、“按周执行”或“按月执行”。 调整开始时间 如果重复周期选择“仅执行一次”或“按天执行”,请选择调整实例规格的开始时间;如果重复周期选择“按周执行”或“按月执行”,请选择每周的星期几或每月的几号开始调整实例规格,并设定开始的时间。 说明: 定时触发方式中的所有设置项的时间均基于东八区时间设置。如果您的实例不在东八区,需要您将设置项的时间转换为东八区时间再进行设置。 恢复原状时间 如果重复周期选择“仅执行一次”或“按天执行”,请选择恢复实例规格的时间;如果重复周期选择“按周执行”或“按月执行”,请选择每周的星期几或每月的几号恢复实例规格,并设定恢复的时间。 实例自动扩容后,如果已使用内存超过原实例内存的70%,不会触发自动缩容。 单击“确定”提交新增策略。 策略提交后如需修改策略设置的参数或删除策略,请单击对应策略右侧的“编辑”或“删除”。 在需要执行的策略后单击“应用”,确认同意该操作后单击“确认”,该策略正式生效,会显示在“已应用策略”下。 如需取消生效的策略,单击已应用策略下的“取消应用”并单击“确定”,策略取消。实例应用新的策略后,旧的触发策略会被替换,不支持同时应用多条触发策略。
  • Token认证 【样例】 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 使用Token前请确保Token离过期有足够的时间,防止调用API的过程中Token过期导致调用API失败。 Token在计算机系统中代表令牌的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://iam.cn-north-1.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFJ.... 您还可以通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333 。
  • AK/SK认证 【样例】 AK/SK签名认证方式仅支持消息体大小12M以内,12M以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme:表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint:指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点中获取。例如 IAM 服务在“华北-北京一”区域的Endpoint为“iam.cn-north-1.myhuaweicloud.com”。 resource-path:资源路径,也即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string:查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京一”区域的Token,则需使用“华北-北京一”区域的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求方法 【样例】 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxx为project的名称,如cn-north-1,您可以从地区和终端节点中获取。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token额作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求消息头 【样例】 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 Content-Type:消息体的类型(格式),必选,默认取值为“application/json”,有其他取值时会在具体接口中专门说明。 X-Auth-Token:用户Token,可选,当使用Token方式认证时,必须填充该字段。用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 公有云API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参加AK/SK认证。 X-Project-ID:子项目ID,可选,在多项目场景中使用。 X-Domain-ID:账号ID。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 状态码 状态码如表1所示 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录
  • 响应消息体 【样例】 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "cn-north-1", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "AS.0001" } 其中,error_code表示错误码,error_msg表示错误描述信息。
  • 错误码说明 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 表1 错误码 状态码 错误码 错误信息 描述 处理措施 400 ASM.01400001 Invalid request. 请求体不合法。 请参考返回的message和ASM接口文档修改请求体,或联系技术支持。 401 ASM.01401001 Authorization failed. 认证失败。 请参考返回的message,或联系技术支持。 403 ASM.01403001 Forbidden. 禁止访问。 请参考返回的message,或联系技术支持。 404 ASM.01404001 Resource not found. 未找到资源。 请确认要访问的资源是否已被删除。 409 ASM.01409001 The resource already exists. 资源已存在。 请先删除资源后,再进行创建。 429 ASM.01429001 Resource locked by other requests. 资源被其他请求锁定。 请参考返回的message,或联系技术支持。 500 ASM.01500001 Internal error. 内部错误。 请参考返回的message,或联系技术支持。
共100000条