Upload
others
View
31
Download
0
Embed Size (px)
Citation preview
分布式缓存服务
用户指南
文档版本 06
发布日期 2017-08-02
目 录
1 简介................................................................................................................................................... 11.1 分布式缓存服务简介.................................................................................................................................................... 21.2 分布式缓存服务的应用场景........................................................................................................................................ 31.3 分布式缓存服务的优势................................................................................................................................................ 31.4 分布式缓存服务与 Redis 命令的兼容性介绍............................................................................................................. 31.5 分布式缓存服务的规格................................................................................................................................................ 61.6 访问和使用.................................................................................................................................................................... 71.6.1 访问分布式缓存服务................................................................................................................................................. 71.6.2 分布式缓存服务和其他服务的关系......................................................................................................................... 7
2 快速入门......................................................................................................................................... 122.1 申请缓存实例.............................................................................................................................................................. 132.2 连接缓存实例.............................................................................................................................................................. 152.3 查看缓存信息.............................................................................................................................................................. 16
3 操作指南......................................................................................................................................... 193.1 配置运行参数.............................................................................................................................................................. 203.2 关闭缓存实例.............................................................................................................................................................. 223.3 开启缓存实例.............................................................................................................................................................. 233.4 重启缓存实例.............................................................................................................................................................. 243.5 删除缓存实例.............................................................................................................................................................. 243.6 扩容缓存实例.............................................................................................................................................................. 263.7 修改缓存实例密码...................................................................................................................................................... 273.8 实例备份恢复管理...................................................................................................................................................... 283.8.1 设置备份策略........................................................................................................................................................... 283.8.2 手动备份实例........................................................................................................................................................... 293.8.3 实例恢复................................................................................................................................................................... 30
4 常见问题......................................................................................................................................... 314.1 分布式缓存服务支持通用的 Redis 客户端(如 Jedis)吗?.................................................................................. 324.2 使用分布式缓存服务,需要在弹性云服务器上安装 Redis 吗?........................................................................... 324.3 连接分布式缓存服务必须使用密码吗?如何获取密码?...................................................................................... 324.4 分布式缓存服务的备节点是否会与其主节点同步保持最新状态?...................................................................... 324.5 分布式缓存服务支持数据持久化吗?...................................................................................................................... 324.6 分布式缓存服务支持公网访问吗?.......................................................................................................................... 32
分布式缓存服务用户指南 目 录
文档版本 06 (2017-08-02) ii
4.7 分布式缓存服务是否支持修改配置参数?.............................................................................................................. 324.8 缓存实例的数据被删除之后,能否找回?.............................................................................................................. 334.9 分布式缓存服务默认的数据逐出策略是什么?...................................................................................................... 334.10 客户端连接缓存实例超时后怎么办?.................................................................................................................... 334.11 为什么缓存实例创建后实际可用内存比申请规格小而且已使用内存不为 0?................................................. 344.12 为什么创建实例时提示帐号受限?........................................................................................................................ 34
A 文档修订记录................................................................................................................................ 35
分布式缓存服务用户指南 目 录
文档版本 06 (2017-08-02) iii
1 简介
1.1 分布式缓存服务简介
1.2 分布式缓存服务的应用场景
1.3 分布式缓存服务的优势
1.4 分布式缓存服务与Redis命令的兼容性介绍
1.5 分布式缓存服务的规格
1.6 访问和使用
分布式缓存服务用户指南 1 简介
文档版本 06 (2017-08-02) 1
1.1 分布式缓存服务简介
分布式缓存服务,为您提供即开即用、安全可靠、弹性扩容、便捷管理的在线分布式缓存能力。借助该服务,用户能够轻松部署、运行和扩展分布式内存数据缓存。
当前分布式缓存服务提供的内存引擎为Redis,版本为3.0.7。Redis是一种开源的日志型Key-Value数据库。该数据库使用ANSI C语言编写,支持网络,可基于内存,可持久化。有关Redis的详细信息,请访问Redis官方网站https://redis.io/。
用户访问DCS缓存实例时,需要经过ECS(Elastic Cloud Server,弹性云服务器),具体关系如下图。
图 1-1 分布式缓存服务简图
说明
缓存实例也运行在弹性云服务器上,与访问缓存实例的弹性云主机在同一个虚拟私有云(VirtualPrivate Cloud,VPC)子网和安全组中。
分布式缓存服务支持的缓存实例包括:
l 单机
整个实例只运行在一个节点上。单机模式成本低廉,开发者可以用来部署对可靠性要求不高的开发环境。
l 主备
在单机实例基础上增强高可用性。主备实例具有以下特征:
– 实例包含一个主节点和一个备节点;
– 主备节点的数据通过实时复制保持一致;
– 备节点对用户不可见,不支持客户端直接读写数据;
– 当主节点故障后,备节点自动升级为主节点,无需用户操作。
l 集群
在主备实例高可用基础上增强了高性能支持。集群实例具有以下特征:
– 实例包含至少三个主节点,可以根据可靠性的需要,对每个主节点增加所需的从节点;
– 从节点对Redis客户端可见,但只能读,不能写。通过数据实时复制,与主节点保持一致;
– 建议为每个主节点配置相同数量的从节点。
分布式缓存服务用户指南 1 简介
文档版本 06 (2017-08-02) 2
1.2 分布式缓存服务的应用场景
很多大型电商网站、视频网站或者游戏应用等,存在大规模数据访问,对数据查询效率要求高。使用分布式缓存服务可实现页面缓存、应用缓存、状态缓存、并行处理、事件处理,能够有效减少数据库磁盘IO,提高数据查询效率,减轻管理维护工作量,降低数据库存储成本。
l 页面缓存
将Web页面的内容片段,包括HTML,CSS和图片等静态数据,缓存到DCS实例,提高网站的访问性能。
l 状态缓存
将Session会话状态及应用横向扩展时的状态数据等缓存到DCS实例,实现状态数据共享。
l 应用对象缓存
作为服务层的二级缓存对外提供服务,减轻数据库的负载压力,加速应用访问。
l 事件缓存
分布式缓存提供了针对事件流的连续查询(continuous query)处理技术,满足实时性需求。
1.3 分布式缓存服务的优势
分布式缓存服务具有以下优势:
l 即开即用
用户直接操作Web控制台,或者调用接口,即可申请DCS服务,快速部署,无需关心硬件及软件。
l 丰富的缓存规格
支持2GB到256GB的多种缓存规格,灵活满足应用的多样化需求。
l 数据持久化
主备模式下支持数据持久化功能,在提供高性能数据读写的同时,保证数据的可靠性。
l 易维护
管理操作流程简便,一键申请、启停缓存实例。有丰富的服务监控指标(如key的数据、客户端连接个数、处理过的命令数据等),以及系统监控指标(如内存、CPU、网络的使用率)。
1.4 分布式缓存服务与 Redis 命令的兼容性介绍
分布式缓存服务目前基于Redis引擎构建,支持绝大部分Redis命令,任何兼容Redis协议的客户端都可以访问分布式缓存服务。因安全原因,部分Redis命令在分布式缓存服务中不开放,不开放的命令列表请参见表1 禁用的命令以及表1-2。Redis命令请参见http://redis.io/commands。
分布式缓存服务用户指南 1 简介
文档版本 06 (2017-08-02) 3
说明
当用户执行比较耗时的命令(如flushall)时,可能会导致缓存实例在命令执行期间对外不响应用户的其它命令,造成状态监控失效,此时Console上缓存实例的状态会变成异常,命令执行结束后,实例状态会恢复正常。
单机/主备版
DCS单机或者主备实例的Redis接口与开源Redis在数据访问方面完全兼容。但因易用性和安全性的原因,部分管理操作不能从Redis客户端发起,如表1-1所示。
表 1-1 禁用的命令
禁用命令类型
禁用命令清单
Keys(键)
MIGRATE
Script(脚本)
EVAL,EVALSHA,SCRIPT EXISTS,SCRIPT FLUSH,SCRIPTKILL,SCRIPT LOAD
Server(服务器)
SLOWLOG,SLAVEOF,SHUTDOWN,SAVE,ROLE,MONITOR,LASTSAVE,DEBUG SEGFAULT,DEBUG OBJECT,CONFIG SET,CONFIG REWRITE,CONFIGRESETSTAT ,CONFIG GET,COMMAND INFO,COMMAND GETKEYS ,COMMAND COUNT,COMMAND,CLIENT SETNAME,CLIENTLIST,CLIENT KILL,CLIENT GETNAME,BGSAVE,BGREWRITEAOF
注意
使用Redis客户端Redis-cli执行上述禁用命令时,会得到(error)ERR unknowncommand ‘xxx’的提示,但monitor命令在执行后会处于等待状态,此为Redis客户端Redis-cli的行为,其他Redis客户端也会出现同样的现象,DCS提供的服务在技术实现上无法约束客户端的行为。
集群版
集群版除了不支持单机/主备版禁止的命令外,也不支持如表1-2。
表 1-2 集群版禁用的命令
禁用命令类型 禁用命令清单
String(字符串)
MSETNX
分布式缓存服务用户指南 1 简介
文档版本 06 (2017-08-02) 4
禁用命令类型 禁用命令清单
List(列表) RPOPLPUSH
Set(集合) SINTERSTORE,SINTER,SUNIONSTORE,SUNION ,SDIFFSTORE,SDIFF,SMOVE
SortedSet(有序集合)
ZUNIONSTORE,ZINTERSTORE
HyperLogLog PFMERGE,PFCOUNT
Transaction DISCARD,EXEC,MULTI,UNWATCH,WATCH
Connection SELECT
Keys MOVE,SCAN
List BLPOP,BRPOP,BRPOPLPUSH
Cluster CLUSTER
codis相关 PSUBSCRIBE(),PUBLISH,PUNSUBSCRIBE,SUBSCRIBE ,RANDOMKEY,UNSUBSCRIBE,DBSIZE,FLUSHALL ,FLUSHDB,TIME,SLOTSINFO,SLOTSDEL ,SLOTSMGRTSLOT,SLOTSMGRTONE,SLOTSCHECK ,SLOTSMGRTTAGSLOT,SLOTSMGRTTAGONE
注意
使用redis客户端redis-cli执行上述禁用命令时,会得到(error)ERR unknown command‘xxx’的提示,但PSUBSCRIBE、SUBSCRIBE、MONITOR等命令在执行后会处于等待状态,此为redis客户端redis-cli的行为,其他redis客户端也会出现同样的现象,DCS提供的服务在技术实现上无法约束客户端的行为。
集群版使用原生Redis Cluster协议。需要Redis客户端支持集群协议才能调用集群版命令。目前支持Redis Cluster协议的客户端有情况如表1-3。
表 1-3 支持 Redis Cluster 协议的客户端
语言 客户端名称 说明
C++ c+redis+client 基于hiredis支持cluster/pipeline,线程安全。
r3c 基于hiredis支持集群和单机。
Erlang eredis_cluster 支持集群和连接池。
G go-redis/redis 支持Redis哨兵机制和集群。
分布式缓存服务用户指南 1 简介
文档版本 06 (2017-08-02) 5
语言 客户端名称 说明
Radix MIT license的Redis客户端,支持pipelie,pooling,redis集群,脚本,pub/sub,扫描等。
Java lettuce 线程安全,支持同步,异步,反应式用法,集群,哨兵,Pipeline,和codec。
Jedis 支持集群。
Node.js fast-redis-cluster
简单而快速的集群驱动错误处理。该客户端使用redis快速驱动为主适配器和node_redis作为Windows备份。
ioredis 受欢迎的,性能优良,特性完备的Redis客户端。支持集群,哨兵,Pipeline,以及Lua脚本。
thunk-redis 支持Pipeline和集群。
Perl Redis::Cluster 支持集群。
Python pyredis 支持集群,仅支持Python 3。
1.5 分布式缓存服务的规格因系统开销占用一部分资源,单机实例可用内存比实例规格略小,如表1-4。
表 1-4 单机实例规格表
内存规格
(GB)实例可使用内存
(GB)连接数上限
(个)
内网带宽上限
(Mbps)
2 1.5 10000 128
4 3.2 10000 192
8 6.8 10000 192
16 13.6 10000 256
32 27.2 10000 256
64 58.2 12000 384
主备实例需要预留持久化的内存,其可用内存如表1-5。主备实例可以调整实例可用内存,以更好地支持数据持久化、主从同步等后台任务。
分布式缓存服务用户指南 1 简介
文档版本 06 (2017-08-02) 6
表 1-5 主备实例规格表
内存规格
(GB)实例可使用内存
(GB)连接数上限
(个)
内网带宽上限
(Mbps)
2 1.5 10000 128
4 3.2 10000 192
8 6.4 10000 192
16 12.8 10000 256
32 25.6 10000 256
64 51.2 12000 384
集群实例规格如表1-6。
表 1-6 集群实例规格表
规格
(GB)实例可使用内存
(GB)连接数上限
(个)
内网带宽上限
(Mbps)
64 64 20000 384
128 128 20000 384
256 256 20000 384
1.6 访问和使用
1.6.1 访问分布式缓存服务
DCS提供了Web化的服务管理平台,即管理控制台,还提供了基于HTTPS请求的API(Application programming interface)管理方式。
l 管理控制台方式
用户注册后登录管理控制台,从主页选择“分布式缓存服务”。
l API方式
如果用户需要将分布式缓存服务集成到第三方系统,用于二次开发,请使用API方式访问,详见《分布式缓存服务API参考》。
1.6.2 分布式缓存服务和其他服务的关系
l 虚拟私有云
分布式缓存服务运行于虚拟私有云,需要使用虚拟私有云创建的IP和带宽。通过虚拟私有云安全组的功能可以增强访问分布式缓存服务的安全性。
分布式缓存服务用户指南 1 简介
文档版本 06 (2017-08-02) 7
l 弹性云服务器
成功申请分布式缓存服务后,您需要通过弹性云服务器创建的弹性云主机连接使用分布式缓存实例。
l 云监控服务
云监控服务(CloudEye Service,简称CES)是公有云提供的安全、可扩展的统一监控方案,通过CES云服务集中监控DCS的各种指标,基于CES实现告警和事件通知。云监控服务对分布式缓存服务的监控指标项见表1-7。
表 1-7 分布式缓存服务支持的监控指标
指标名称 含义 取值范围 测量对象
CPU利用率 该指标用于统计测量对象的CPU利用率,以百分比为单位。
0-100% 弹性云服务器
内存利用率 改指标用于统计测量对象的内存利用率,以百分比为单位。
0-100% 弹性云服务器
网络输入吞吐量
该指标用于统计网口平均每秒的输入流量,以字节/秒为单位。
>= 0字节/秒
弹性云服务器
网络输出吞吐量
该指标用于统计网口平均每秒的输出流量,以字节/秒为单位。
>= 0字节/秒
弹性云服务器
活跃的客户端数量
该指标用于统计已连接的客户端数量,不包括来自从节点的连接,以个为单位。
包括DCS后台管理服务监控实例使用的客户端连接。
>=0个 分布式缓存服务
客户端最长输出列表
指标用于统计客户端所有现存连接的最长输出列表,以个为单位。
>=0个 分布式缓存服务
客户端最大输入缓冲
该指标用于统计客户端所有现存连接的最大输入数据长度,以字节为单位。
>=0字节 分布式缓存服务
阻塞的客户端数量
该指标用于被阻塞操作挂起的客户端的数量。阻塞操作如BLPOP,BRPOP,BRPOPLPUSH,以个为单位。
>=0个 分布式缓存服务
已用内存 该指标用于统计Redis已使用的内存字节数,以字节单位。
>=0字节 分布式缓存服务
分布式缓存服务用户指南 1 简介
文档版本 06 (2017-08-02) 8
指标名称 含义 取值范围 测量对象
已用内存RSS 该指标用于统计Redis已使用的RSS内存。即实际驻留“在内存中”的内存数。包含和堆,但不包括换出的内存,以字节为单位。
>=0字节 分布式缓存服务
已用内存峰值 该指标用于统计Redis服务器启动以来使用内存的峰值,以字节为单位。
>=0字节 分布式缓存服务
Lua已用内存 该指标用于统计Lua引擎已使用的内存字节,以字节为单位。
>=0字节 分布式缓存服务
内存碎片率 该指标用于统计当前的内存碎片率。其数值上等于used_memory_rss /used_memory。
>=0 分布式缓存服务
总共收到的连接数
该指标用于统计Redis服务器启动以来总共收到的连接数,以个为单位。
包括DCS后台服务管理的监控连接数。
>=0个 分布式缓存服务
总共处理的命令数
该指标用于统计Redis服务器启动以来总共处理的命令数。
包括DCS后台服务管理监控命令数。
>=0个 分布式缓存服务
每秒并发操作数
该指标用于统计每秒处理的命令数,以操作/秒为单位。
>=0操作/秒 分布式缓存服务
网络总共收到字节数
该指标用于统计Redis服务器启动以来总共收到的字节数,以字节为单位。
>=0字节 分布式缓存服务
网络总共发送字节数
该指标用于统计Redis服务器启动以来总共发送的字节数,以字节为单位。
>=0字节 分布式缓存服务
网络瞬时输入流量
该指标用于统计瞬时的输入流量,以千比特/秒为单位。
>=0千比特/秒
分布式缓存服务
网络瞬时输出流量
该指标用于统计瞬时的输出流量,以千比特/秒为单位。
>=0千比特/秒
分布式缓存服务
分布式缓存服务用户指南 1 简介
文档版本 06 (2017-08-02) 9
指标名称 含义 取值范围 测量对象
已拒绝的连接数
该指标用于统计Redis服务器启动以来总共因为超过maxclients而拒绝的连接数量,以个为单位。
>=0个 分布式缓存服务
全量同步次数 该指标用于统计Redis服务器启动以来总共完成的全量同步次数,以个为单位。
>=0个 分布式缓存服务
增量同步成功次数
该指标用于统计Redis服务器启动以来总共成功的增量同步次数,以个为单位。
>=0个 分布式缓存服务
增量同步出错次数
该指标用于统计Redis服务器启动以来总共出错的增量同步次数,以个为单位。
>=0个 分布式缓存服务
已过期的键数量
该指标用于统计Redis服务器启动以来总共过期的键数量,以个为单位。
>=0个 分布式缓存服务
已挤出的键数量
该指标用于统计Redis服务器启动以来总共因为内存不足被挤出的键数量,以个为单位。
>=0个 分布式缓存服务
Keyspace命中次数
该指标用于统计Redis服务器启动以来在主字典中总共的查找命中次数,以个为单位。
>=0个 分布式缓存服务
Keyspace错过次数
该指标用于统计Redis服务器启动以来在主字典中总共的查找不命中次数,以个为单位。
>=0个 分布式缓存服务
Pubsub通道个数
该指标用于统计Pub/Sub通道个数,以个为单位。
>=0个 分布式缓存服务
Pubsub模式个数
该指标用于统计Pub/Sub模式个数,以个为单位。
>=0个 分布式缓存服务
AOF文件当前大小
该指标用于统计AOF文件当前大小,以字节为单位。
>=0个 分布式缓存服务
最近Fork耗时 该指标用于统计最近Fork耗时,以毫秒为单位。
>=0毫秒 分布式缓存服务
l 云审计服务
云审计服务(Cloud Trace Service,简称CTS),为您提供云服务资源的操作记录,记录内容包括您从公有云管理控制台或者开放API发起的的云服务资源操作请求以及每次请求的结果,供您查询、审计和回溯使用。
当前CTS记录DCS的操作有:
分布式缓存服务用户指南 1 简介
文档版本 06 (2017-08-02) 10
– 申请缓存实例。
– 配置运行参数。
– 启停缓存实例:开启、关闭、重启。
– 删除缓存实例。
– 修改缓存实例密码。
– 修改缓存实例信息。
l 统一身份认证服务
通过统一身份认证服务,实现对分布式缓存服务的访问控制。
分布式缓存服务用户指南 1 简介
文档版本 06 (2017-08-02) 11
2 快速入门
2.1 申请缓存实例
2.2 连接缓存实例
2.3 查看缓存信息
分布式缓存服务用户指南 2 快速入门
文档版本 06 (2017-08-02) 12
2.1 申请缓存实例
操作场景
使用分布式缓存服务需要申请缓存实例。分布式缓存服务目前支持的实例类型,包括单机实例、主备实例和集群实例。
注意
DCS本身不涉及用户敏感信息。使用DCS处理数据的目的、范围、处理方式、时限等请遵从当地适用的法律法规。DCS本身不建议传输和存储敏感数据,如果传输和存储敏感数据,请自行加密后再传输和存储。
前提条件
分布式缓存服务运行于虚拟私有云。申请缓存实例前,需保证有可用的虚拟私有云,并且已配置好安全组与子网。
创建虚拟私有云、安全组以及子网的方法,请参见《虚拟私有云用户指南》。
当缓存实例的类型为“主备”时,需要保证安全组规则中同时包含协议为“ANY”的出方向和入方向规则。
操作步骤
步骤1 登录管理控制台。
步骤2 单击 ,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。
步骤3 单击左侧菜单栏的“缓存管理”进入“缓存管理”页面。
步骤4 单击“申请缓存实例”,进入“服务选型”页面。
步骤5 填写名称、可用分区、实例类型和规格、虚拟私有云、安全组、子网等参数。参数说明如表2-1所示。
表 2-1 参数说明
参数 说明
名称 缓存实例的名称。
l 名称不能为空。
l 只能以英文字母开头。
l 长度为4到64位的字符串。
l 仅包含英文字母、数字和中划线(-)。
描述 对缓存实例的描述信息。
分布式缓存服务用户指南 2 快速入门
文档版本 06 (2017-08-02) 13
参数 说明
可用分区 可选择的不同可用分区。
缓存类型 缓存的引擎类型,目前支持Redis。
缓存版本 缓存的引擎类型的版本,目前支持3.0.7。
实例类型 缓存实例的类型。支持“单机”、“主备”和“集群”。
实例规格 缓存实例的规格。
当缓存实例类型为“集群”时,缓存实例规格支持64G、128G和256G。
单机和主备实例规格支持2G、4G、8G、16G、32G和64G。
租户默认配额为最多创建5个实例,总内存不超过400G。
用户如需增加配额,单击规格下方的“申请扩大配额”,即可跳转到工单管理界面提交工单,增加配额。
虚拟私有云 已创建的虚拟私有云。
单击“查看虚拟私有云”,系统跳转到虚拟私有云界面,选择相应的虚拟私有云,可以查看安全组的出方向规则和入方向规则。
子网 子网名称与IP地址段。
安全组 已创建的安全组。
Redis客户端或者应用程序所在的服务器,需要与缓存实例所在的弹性云服务器属于相同虚拟私有云以及相同的安全组。
密码 连接缓存实例的密码。输入密码及确认密码。
密码必须满足以下复杂度要求:
l 密码不能为空。
l 输入长度为6到32位的字符串。
l 必须包含如下四种字符中的两种组合:
– 小写字母
– 大写字母
– 数字
– 特殊字符包括(`~!@#$%^&*()-_=+\|[{}]:'",<.>/?)l 说明
为了安全,请妥善保存密码,并定期更新密码。
时间窗 运维操作时间。
用户可选择22:00-02:00、02:00-06:00、06:00-10:00、10:00-14:00、14:00-18:00和18:00-22:00,在选择的时间段内,服务运维可对实例节点进行维护操作。
备份策略 选择创建主备实例类型时显示。关于备份策略的设置请参考3.8.1 设置备份策略。
购买时长 购买的时长。选择包年/包月付费模式时显示。
用户可选择1个月、2个月、3个月、4个月、5个月、6个月、7个月、8个月、9个月、1年、2年和3年。
分布式缓存服务用户指南 2 快速入门
文档版本 06 (2017-08-02) 14
参数 说明
配置费用 购买当前规格的费用标准。
选择包年/包月付费模式时,显示当前规格下购买时长的一次性总费用。
选择按需付费模式时,显示当前规格下每小时所需费用。
步骤6 填写完上述信息后,进入确认页面。
确认页面显示申请的分布式缓存服务的实例名称、缓存版本和实例规格等信息。
l 如果选择“包年/包月”,单击“立即购买”,进入“订单确认”页面。
l 如果选择“按需付费”,单击“立即申请”,进入“规格详情”页面。
步骤7 确认实例信息无误后,勾选“我已阅读并同意《华为分布式缓存服务协议》”,开始创建实例。
l 如果选择“包年/包月”,单击“提交订单”,进入付款页面,完成付款后即可创建实例。
如果暂不确定,可单击“确认订单,暂不付款”,稍后可在“用户中心>我的订单”中支付或取消订单。
l 如果选择“按需付费”,单击“提交申请”。开始创建实例。
步骤8 缓存实例创建成功后,用户可以在“缓存管理”页面,查看并管理自己的缓存实例。
1. 创建缓存实例大约需要5到15分钟,如果创建集群实例,则需要大约30分钟。
2. 缓存实例创建成功后,默认“状态”为“运行中”。
对于“包年/包月”模式的实例,有如下约束:
l 付款成功后,才会创建。
l 如果实例状态为“故障”,则是因为资源开通失败导致。你可以联系客服人员帮助取消订单,然后到“用户中心>我的订单”中执行退订操作。
说明
提交创建申请后,缓存实例创建完成后状态不是“运行中”,请参考3.5 删除缓存实例,删除该实例,然后重新申请。如果重新申请仍然失败,请联系客服。
----结束
2.2 连接缓存实例成功申请分布式缓存实例后,用户可通过相应的Redis客户端从弹性云服务器上连接使用缓存实例。
本节介绍如何使用Redis-cli客户端连接缓存实例,更多的客户端的使用方法,请参考https://redis.io/clients。
前提条件
l 已成功申请分布式缓存实例,且状态为“运行中”。
l 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器用户指南》。
分布式缓存服务用户指南 2 快速入门
文档版本 06 (2017-08-02) 15
l 弹性云服务器已经安装gcc编译环境。
说明
您创建的弹性云服务器必须与分布式缓存实例属于同一个VPC,并拥有相同的安全组,以确保弹性云服务器与缓存实例的网络是连通的。
操作步骤
步骤1 登录管理控制台。
步骤2 单击 ,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。
步骤3 单击左侧菜单栏的“缓存管理”,进入缓存实例信息页面。
步骤4 单击需要使用的其中一个缓存实例的名称,进入该缓存实例的基本信息页面。查看并获取该分布式缓存实例的IP和端口。
步骤5 连接缓存实例。
1. 获取Redis客户端源码,下载路径为http://download.redis.io/releases/redis-3.0.7.tar.gz。
2. 将Redis客户端源码包上传到已创建的弹性云服务器。
3. 登录弹性云服务器。
4. 执行如下命令,解压Redis客户端源码包。
tar -xzf redis-3.0.7.tar.gz5. 进入Redis目录并编译Redis客户端源码。
cd redis-3.0.7make
6. 执行以下命令连接缓存实例。
cd src./redis-cli -h 192.168.0.148 -p 6379其中“192.168.0.148”为缓存实例的IP,“6379”为缓存实例的端口。IP和端口获取见步骤步骤4,请按实际情况修改后执行。
7. 进入Redis-cli客户端界面后输入密码,校验通过后即可进行缓存数据读写。
auth <password>其中“<password>”为创建缓存实例时自定义的密码,请按实际情况修改后执行。回显如下:#redis-cli -h 192.168.0.148 -p 6379redis 192.168.0.148:6379> auth ******OKredis 192.168.0.148:6379>
----结束
2.3 查看缓存信息
操作场景
本节介绍如何在分布式缓存服务管理控制台查看缓存实例的详细信息。
分布式缓存服务用户指南 2 快速入门
文档版本 06 (2017-08-02) 16
前提条件
已成功申请缓存实例。
操作步骤
步骤1 登录管理控制台。
步骤2 单击 ,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。
步骤3 单击左侧菜单栏的“缓存管理”,进入缓存实例信息页面。
步骤4 “缓存管理”支持通过筛选来查询对应的缓存实例。当前支持的筛选条件为“状态”和“名称”。缓存实例状态请参见表2-2。
表 2-2 缓存实例状态说明
状态 说明
创建中 申请缓存实例后,在缓存实例状态进入运行中之前的状态。
运行中 缓存实例正常运行状态。
在这个状态的实例可以运行您的业务。
故障 缓存实例处于故障的状态。
启动中 缓存实例从已关闭到运行中的中间状态。
重启中 缓存实例正在进行重启操作。
正在关闭 缓存实例从运行中到已关闭的中间状态。
已关闭 缓存实例被正常停止。
在这个状态下的实例,不能对外提供业务。
已冻结 缓存实例处于已冻结状态,用户可以在“我的订单”中续费开启冻结的缓存实例。
扩容中 缓存实例处于正在扩容的状态。
步骤5 在需要查看的缓存实例左侧,单击该缓存实例的名称,进入该缓存实例的基本信息页面。参数说明如表2-3所示。
表 2-3 参数说明
信息类型 参数 说明
基本信息 缓存名称缓存实例的名称。单击“缓存名称”后的 可以修改实例名称。
实例类型 分布式缓存服务的实例类型,支持“单机”、“主备”和“集群”。
实例规格 分布式缓存服务的实例规格。
分布式缓存服务用户指南 2 快速入门
文档版本 06 (2017-08-02) 17
信息类型 参数 说明
内存 缓存实例已经使用的内存量和用户可以使用的最大内存量。
已使用的内存量包括两部分:
l 用户存储的数据;
l Redis-server内部的buffer(如client buffer、repl-backlog等),以及内部的数据结构。
状态 缓存实例状态,具体请参见表2-2。
监控数据 单击“查看”可进入云监控服务页面查看缓存实例的监控信息。
时间窗 运维操作时间。
ID 缓存实例的ID。
计费方式 缓存实例的计费方式,支持“包年/包月”和“按需付费”方式。
连接地址 缓存实例的IP和端口号。
创建时间 缓存实例的创建时间。
描述缓存实例的描述信息。单击“描述”后的 可以修改描述信息。
网络 可用分区 缓存节点所属的可用分区。
安全组 缓存实例所关联的安全组。
私有网络 缓存实例所在的私有网络。
子网 缓存实例所属子网。
----结束
分布式缓存服务用户指南 2 快速入门
文档版本 06 (2017-08-02) 18
3 操作指南
3.1 配置运行参数
3.2 关闭缓存实例
3.3 开启缓存实例
3.4 重启缓存实例
3.5 删除缓存实例
3.6 扩容缓存实例
3.7 修改缓存实例密码
3.8 实例备份恢复管理
分布式缓存服务用户指南 3 操作指南
文档版本 06 (2017-08-02) 19
3.1 配置运行参数
为了确保分布式缓存服务发挥出最优性能,您可以根据自己的业务情况对分布式缓存实例的运行参数进行调整。
前提条件
只有单机和主备类型的处于“运行中”状态的缓存实例支持修改配置参数,集群实例不支持修改配置参数。
注意
当主备实例的部分节点出现故障时:
l 由于DCS服务的高可用性,用户可以正常读写实例,缓存实例状态仍然处于“运行中”。
l DCS服务会及时修复故障节点。
l 故障修复期间,管理域的部分操作暂不支持,包括备份恢复、参数配置、扩容。用户可以等故障节点恢复之后进行重试操作。
操作步骤
步骤1 单击左侧菜单栏的“缓存管理”。
步骤2 在“缓存管理”页面,单击缓存实例的名称。
步骤3 单击“配置参数”页签进入配置界面。
步骤4 单击“修改”。
步骤5 根据需要修改相关参数。
各参数的详细介绍见表3-1,一般情况下,按照系统默认值设置参数即可。
表 3-1 缓存实例配置参数说明
参数名 参数释义 取值范围 默认值
timeout 客户端与服务端连接空闲超时断开时间,参数设为0表示连接永不断开。
0~7200,单位:秒。
0
maxmemory-policy
内存使用达到上限时对缓存数据管理策略。
参数说明请参考https://redis.io/topics/lru-cache。
volatile-lruallkeys-lruvolatile-randomallkeys-randomvolatile-ttlnoeviction
noeviction
分布式缓存服务用户指南 3 操作指南
文档版本 06 (2017-08-02) 20
参数名 参数释义 取值范围 默认值
hash-max-ziplist-entries
当hash表中记录数少于参数值,使用ziplist编码格式,节约内存。
1~10000 512
hash-max-ziplist-value
当hash表中各字段长度的最大值小于参数值时,使用ziplist编码格式,节约内存。
1~10000 64
list-max-ziplist-entries
当列表中记录数少于参数值,使用ziplist编码格式,节约内存。
1~10000 512
list-max-ziplist-value
当列表中各字段长度的最大值小于参数值时,使用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等命令获取统计数据和配置、执行采样监控。详情参考Redis官网说明:https://redis.io/topics/latency-monitor。
0~86400000,单位:毫秒。
0
maxclients 实例支持的最大客户端同时连接数量。
当连接数过多时,DCS实例对客户端请求的响应可能有所延迟。
用户可以根据实际需要,通过调整实例的连接数上限,确保DCS实例做快速响应或者支持更多的并发。
实例规格为64G时,可修改范围:1-12000。其他实例规格,可修改范围:1-10000。
5000
分布式缓存服务用户指南 3 操作指南
文档版本 06 (2017-08-02) 21
参数名 参数释义 取值范围 默认值
reserved-memory
预留内存,主备实例和集群实例才有此配置。
预留内存将被分配给实例VM,保证DCS实例后台进程在做持久化和主从同步等任务时拥有足够的内存。
预留内存大小可以调高或者调低,但不能超过实例当前剩余的可用内存,以及最大可用内存的50%。其中实例最大可用内存可参考表1-5。
实例最大可用内存数的0-50%,同时不能超过实例当前剩余的可用内存,具体以界面提示为准,单位:MB。
0
说明
表3-1中的内存优化相关参数可以参考Redis官网说明,链接:https://redis.io/topics/memory-optimization。
latency-monitor-threshold参数一般在定位问题时使用。采集完latency信息,定位问题后,建议重新将latency-monitor-threshold设置为0,以免引起不必要的延迟。
步骤6 单击“保存”。
步骤7 在弹出的修改确认对话框中,单击“OK”,确认修改参数。
----结束
3.2 关闭缓存实例
操作场景
分布式缓存服务管理控制台支持关闭已申请的缓存实例,且可实现批量关闭缓存实例。
警告
缓存实例关闭后,用户无法再对实例进行读写操作,其中单机实例中的数据将被删除。
前提条件
只有当缓存实例处于“运行中”状态,才能执行此操作。
操作步骤
步骤1 登录管理控制台。
步骤2 单击 ,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。
分布式缓存服务用户指南 3 操作指南
文档版本 06 (2017-08-02) 22
步骤3 单击左侧菜单栏的“缓存管理”。
步骤4 勾选“名称”栏下的相应缓存实例名称左侧的方框,可选一个或多个。
步骤5 单击信息栏左上角的“关闭”。
步骤6 单击“确定”,完成关闭缓存实例。
关闭缓存实例大约需要1到5分钟。缓存实例关闭成功后,实例状态从“运行中”切换为“已关闭”。
说明
如果关闭单个实例,也可以在需要关闭的缓存实例右侧,单击“操作”栏下的“关闭”。
----结束
3.3 开启缓存实例
操作场景
分布式缓存服务管理控制台支持开启已关闭的缓存实例,且可实现批量开启缓存实例。
前提条件
只有当缓存实例处于“已关闭”状态,才能执行此操作。
操作步骤
步骤1 登录管理控制台。
步骤2 单击 ,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。
步骤3 单击左侧菜单栏的“缓存管理”。
步骤4 勾选“名称”栏下的相应缓存实例名称左侧的方框,可选一个或多个。
步骤5 单击信息栏左上侧的“开启”。
步骤6 单击“确定”,完成开启缓存实例。
l 开启缓存实例大约需要1到5分钟。
l 缓存实例开启成功后,实例状态从“已关闭”切换为“运行中”。
说明
如果开启单个实例,也可以在需要开启的缓存实例右侧,单击“操作”栏下的“开启”。
----结束
分布式缓存服务用户指南 3 操作指南
文档版本 06 (2017-08-02) 23
3.4 重启缓存实例
操作场景
分布式缓存服务管理控制台支持重启运行中的缓存实例,且可实现批量重启缓存实例。
警告
缓存实例重启后,单机实例中原有的数据将被删除。在缓存实例重启过程中,用户无法对实例进行读写操作。
前提条件
只有当缓存实例处于“运行中”或“故障”状态,才能执行此操作。
操作步骤
步骤1 登录管理控制台。
步骤2 单击 ,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。
步骤3 单击左侧菜单栏的“缓存管理”。
步骤4 勾选“名称”栏下的相应缓存实例名称左侧的方框,可选一个或多个。
步骤5 单击信息栏左上侧的“重启”。
步骤6 单击“确定”,完成重启缓存实例。
重启缓存实例大约需要1到5分钟。缓存实例重启成功后,缓存实例状态切换为“运行中”。
说明
如果重启单个实例,也可以在需要重启的缓存实例右侧,单击“操作”栏下的“更多 > 重启”。
----结束
3.5 删除缓存实例
操作场景
分布式缓存服务管理控制台支持删除缓存实例,且可实现批量删除缓存实例、一键式删除创建失败的缓存实例。
分布式缓存服务用户指南 3 操作指南
文档版本 06 (2017-08-02) 24
警告
缓存实例删除后,实例中原有的数据将被删除,且没有备份,请谨慎操作。
前提条件
l 缓存实例已存在。
l 缓存实例状态为运行中、故障、已关闭时才能执行删除操作。
操作步骤
删除缓存实例
步骤1 登录管理控制台。
步骤2 单击 ,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。
步骤3 单击左侧菜单栏的“缓存管理”。
步骤4 勾选“名称”栏下的需要删除的缓存实例左侧的方框,可选一个或多个。
缓存实例状态为创建中、启动中、停止中、重启中时不允许执行删除操作。
步骤5 单击信息栏左上侧的“删除”。
步骤6 单击“确定”,完成删除缓存实例。
删除缓存实例大约需要1到5分钟。
说明
如果只需要删除单个缓存实例,也可以在“缓存管理”界面,单击需要删除的缓存实例右侧“操作”栏下的“更多 > 删除”。
----结束
删除创建失败的缓存实例
步骤1 登录管理控制台。
步骤2 单击 ,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。
步骤3 单击左侧菜单栏的“缓存管理”。
若当前存在创建失败的缓存实例,界面信息栏会显示“创建失败任务”及失败数量信息。
步骤4 单击“创建失败任务”后的图标或者数量。
弹出“创建失败任务”界面。
步骤5 在“创建失败任务”界面删除创建失败的缓存实例。
l 单击“清理失败任务”按钮,一键式删除所有创建失败的缓存实例。
l 单击需要删除的缓存实例右侧的“删除任务”,依次删除创建失败的缓存实例。
----结束
分布式缓存服务用户指南 3 操作指南
文档版本 06 (2017-08-02) 25
3.6 扩容缓存实例
操作场景
分布式缓存服务管理控制台支持对缓存实例扩容,用户可以根据实际需要,选择合适的实例规格。
注意
l 实例扩容大约需要5到15分钟,建议选择对业务交易影响较小的时间段进行扩容。
l 扩容期间主备实例仍然支持数据读写,但单机实例不支持数据读写。
l 缓存实例扩容完成后,将按照新的实例规格进行计费。
前提条件
只有当缓存实例处于“运行中”状态,才能执行扩容操作。
注意
当主备实例的部分节点出现故障时:
l 由于DCS服务的高可用性,用户可以正常读写实例,缓存实例状态仍然处于“运行中”。
l DCS服务会及时修复故障节点。
l 故障修复期间,管理域的部分操作暂不支持,包括备份恢复、参数配置、扩容,用户可以等故障节点恢复之后进行重试操作。
操作步骤
步骤1 登录管理控制台。
步骤2 单击 ,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。
步骤3 单击左侧菜单栏的“缓存管理”。
步骤4 在需要扩容的缓存实例右侧,单击“操作”栏下的“更多 > 扩容”,进入到扩容操作页面。
步骤5 在扩容操作页面中,选择您需要扩容的目标规格。
单机和主备实例支持的最大可扩容规格为64GB。
步骤6 单击“确定”,进入“规格确认”页面。
页面显示待扩容的缓存实例名称、缓存版本和实例规格等信息。
分布式缓存服务用户指南 3 操作指南
文档版本 06 (2017-08-02) 26
步骤7 单击“提交申请”,开始扩容缓存实例。
缓存实例扩容大约需要5到15分钟。缓存实例扩容成功后,实例状态切换为“运行中”。
说明
l 当单机实例扩容失败时,实例对用户暂不可用,实例规格仍然为扩容前的规格,管理域的部分操作(如参数配置、扩容等)暂不支持,待后台完成扩容处理后,实例将自动恢复正常,实例规格将更新为扩容后的规格。
l 当主备实例扩容失败时,实例对用户仍然可用,实例规格仍然为扩容前的规格,管理域的部分操作(如参数配置、备份恢复、扩容等)暂不支持,请按照扩容前的规格使用,避免因数据超过规格而被丢失。
l 当扩容成功时,用户可以按照新的规格使用缓存实例。
----结束
3.7 修改缓存实例密码
操作场景
分布式缓存服务管理控制台支持修改缓存实例的密码。
说明
只有处于“运行中”状态的缓存实例支持修改密码,集群实例暂时不支持修改密码。
前提条件
已成功创建缓存实例。
操作步骤
步骤1 登录管理控制台。
步骤2 单击 ,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。
步骤3 单击左侧菜单栏的“缓存管理”。
步骤4 在需要修改密码的缓存实例右侧,单击“操作”栏下的“更多 > 修改密码”
步骤5 系统弹出修改密码对话框。输入“旧密码”、“新密码”和“确认密码”。
说明
修改缓存实例密码时,如果重复5次输入错误的旧密码,该实例帐户将被锁定5分钟,锁定期间不允许修改密码。
密码必须满足以下复杂度要求:
l 密码不能为空,且新密码不能与旧密码相同
l 输入长度为6到32位的字符串。
l 必须包含如下四种字符中的两种组合:
– 小写字母
– 大写字母
– 数字
– 特殊字符包括(`~!@#$%^&*()-_=+\|[{}]:'",<.>/?)
分布式缓存服务用户指南 3 操作指南
文档版本 06 (2017-08-02) 27
步骤6 单击“确定”完成密码修改。
----结束
3.8 实例备份恢复管理
说明
l 主备类型的缓存实例支持将用户数据进行备份存储,并在需要的时候将备份数据恢复到缓存实例中。
l 单机实例不支持备份恢复功能。
l 备份数据将为您保存一定天数,超过期限的备份数据将被自动清理,永久删除。
l 备份实例会产生额外的费用。
实例备份支持手动备份与定时自动备份两种方式,如果需要定时备份,可以在申请实例时设置好备份策略,或者实例创建后设置备份策略。
3.8.1 设置备份策略
操作场景
本节介绍如何在分布式缓存服务管理控制台设置自动备份策略。设置完成后,系统将根据备份策略定时备份实例数据。
如果不需要自动备份,可以修改备份策略设置,关闭自动备份。
前提条件
已成功申请主备缓存实例。
操作步骤
步骤1 登录管理控制台。
步骤2 单击 ,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。
步骤3 单击左侧菜单栏的“缓存管理”,进入缓存实例信息页面。
“缓存管理”支持通过筛选来查询对应的缓存实例。当前支持的筛选条件为“状态”和“名称”。
步骤4 在需要查看的缓存实例左侧,单击该缓存实例的名称,进入该缓存实例的基本信息页面。
步骤5 单击“备份与恢复”页签,进入备份恢复管理页面。
步骤6 单击“备份策略”,弹出备份策略设置窗口。
表 3-2 备份策略参数说明
参数 说明
自动备份 是否进行自动备份开关。
分布式缓存服务用户指南 3 操作指南
文档版本 06 (2017-08-02) 28
参数 说明
备份周期 自动备份频率。
可设置为每周的某一天或者某几天,按实际需要适当增加备份频率。
保存天数 备份数据保存期限。
保存天数可选1~7,超过期限后,备份数据将被永久删除,无法用来恢复实例。
开始时间 备份自动任务执行时间。时间格式:00:00~23:59间的任意时间点。
自动任务每小时执行一次。假设开始时间设置为02:30 am,则当日的数据备份将在03:30前完成。
说明实例备份大约耗时5~30分钟,备份期间发生的数据新增或修改记录,将不会保存到备份数据中。为了尽量减少备份对业务的影响,备份开始时间建议设置在业务交易较少的时间段。
实例只有处于“运行中”状态时,系统才对其执行数据备份。
步骤7 打开“自动备份”开关,设置好备份参数,单击“确定”,完成备份策略设置。
----结束
3.8.2 手动备份实例
操作场景
用户需要及时备份缓存实例中的数据,可以通过手动备份功能完成实例数据备份。
手动备份的实例数据默认永久保存,如需清理,请自行删除。
本节介绍如何在分布式缓存服务管理控制台手动备份主备缓存实例的数据。
前提条件
已成功申请主备缓存实例,且实例处于运行中状态。
操作步骤
步骤1 登录管理控制台。
步骤2 单击 ,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。
步骤3 单击左侧菜单栏的“缓存管理”,进入缓存实例信息页面。
“缓存管理”支持通过筛选来查询对应的缓存实例。当前支持的筛选条件为“状态”和“名称”。
步骤4 在需要查看的缓存实例左侧,单击该缓存实例的名称,进入该缓存实例的基本信息页面。
步骤5 单击“备份与恢复”页签,进入备份与恢复管理页面。
分布式缓存服务用户指南 3 操作指南
文档版本 06 (2017-08-02) 29
步骤6 单击“手动备份”,弹出手动备份窗口。
步骤7 单击“确定”,开始执行手工备份任务。
备注说明最长不能超过128个字节。
说明
实例备份需耗时10~15分钟,备份期间发生的数据新增或修改记录,将不会保存到备份数据中。
----结束
3.8.3 实例恢复
操作场景
用户需要将已备份数据恢复到缓存实例中。
前提条件
已成功申请主备缓存实例,且实例处于运行中状态。
实例已有历史数据备份,且备份状态为succeed。
操作步骤
步骤1 登录管理控制台。
步骤2 单击 ,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。
步骤3 单击左侧菜单栏的“缓存管理”,进入缓存实例信息页面。
“缓存管理”支持通过筛选来查询对应的缓存实例。当前支持的筛选条件为“状态”和“名称”。
步骤4 在需要查看的缓存实例左侧,单击该缓存实例的名称,进入该缓存实例的基本信息页面。
步骤5 单击“备份与恢复”页签,进入备份恢复管理页面。
页面下方显示历史备份数据列表。
步骤6 选择需要恢复的历史备份数据,单击右侧的“恢复”,弹出实例恢复窗口。
步骤7 单击“确定”,开始执行实例恢复任务。
备注说明最长不能超过128个字节。
您可以在“备份恢复记录”页签查询当前实例恢复任务执行结果。
说明
实例恢复需耗时1~30分钟。
恢复过程中,实例不会接受客户端对数据的操作请求,当前数据将被删除,待恢复完成后存储原有备份数据。
----结束
分布式缓存服务用户指南 3 操作指南
文档版本 06 (2017-08-02) 30
4 常见问题
4.1 分布式缓存服务支持通用的Redis客户端(如Jedis)吗?
4.2 使用分布式缓存服务,需要在弹性云服务器上安装Redis吗?
4.3 连接分布式缓存服务必须使用密码吗?如何获取密码?
4.4 分布式缓存服务的备节点是否会与其主节点同步保持最新状态?
4.5 分布式缓存服务支持数据持久化吗?
4.6 分布式缓存服务支持公网访问吗?
4.7 分布式缓存服务是否支持修改配置参数?
4.8 缓存实例的数据被删除之后,能否找回?
4.9 分布式缓存服务默认的数据逐出策略是什么?
4.10 客户端连接缓存实例超时后怎么办?
4.11 为什么缓存实例创建后实际可用内存比申请规格小而且已使用内存不为0?
4.12 为什么创建实例时提示帐号受限?
分布式缓存服务用户指南 4 常见问题
文档版本 06 (2017-08-02) 31
4.1 分布式缓存服务支持通用的 Redis 客户端(如 Jedis)吗?
支持。任何兼容Redis协议的客户端都可以访问分布式缓存服务。Redis客户端的下载,请参见http://redis.io/clients。
4.2 使用分布式缓存服务,需要在弹性云服务器上安装 Redis吗?
不需要。您只需要通过相应的Redis客户端即可从弹性云服务器上连接使用缓存实例。
4.3 连接分布式缓存服务必须使用密码吗?如何获取密码?
Redis本身支持不设置密码,客户端可以直接连接Redis缓存服务并使用。
DCS出于安全考虑,客户端连接缓存实例必须通过密码来鉴权验证。您需要在创建缓存实例时自定义密码。
分布式缓存服务处于“运行中”状态的缓存实例支持修改密码,集群实例暂不支持修改密码。
4.4 分布式缓存服务的备节点是否会与其主节点同步保持最新状态?
一般情况下,主节点的更新会自动复制到关联的备节点。但由于Redis异步同步的技术,备节点更新可能会落后于主节点。例如,主节点的I/O写入速度超过了备节点的同步速度,或者因异常原因导致的主节点和备节点的网络延迟,使得备节点与主节点存在滞后或者部分数据不一致,若此时进行主备切换,未同步的少量数据可能会丢失。
4.5 分布式缓存服务支持数据持久化吗?
l 单机:不支持。
l 主备:支持。
4.6 分布式缓存服务支持公网访问吗?
不支持。您必须通过同一虚拟私有云下的弹性云服务器来访问缓存实例。
4.7 分布式缓存服务是否支持修改配置参数?
处于“运行中”状态的缓存实例支持修改配置参数,集群实例暂不支持修改密码。
分布式缓存服务用户指南 4 常见问题
文档版本 06 (2017-08-02) 32
4.8 缓存实例的数据被删除之后,能否找回?
缓存实例自行删除或者通过Redis客户端发送命令手动删除的数据,不能找回。DCS的默认数据逐出策略为不逐出,但用户可以通过修改实例配置参数,自行调整策略,由实例根据逐出策略回收键值。
缓存实例整个被删除后,实例数据也将丢失,不能找回。删除实例应当谨慎。
主备缓存实例支持实例数据备份,如果实例有数据备份,则可以通过恢复实例完成数据找回。
4.9 分布式缓存服务默认的数据逐出策略是什么?
逐出指将数据从缓存中删除,以腾出更多的存储空间容纳新的缓存数据。
DCS默认策略为不逐出(noeviction)。当前版本支持在配置运行参数中修改逐出策略。
在达到内存上限(maxmemory)时Redis支持选择以下6种数据逐出策略:
l noeviction:在这种策略下,如果缓存达到了配置的上限,实例将不再处理客户端任何增加缓存数据的请求,比如写命令,实例直接返回错误给客户端。缓存达到上限后,实例只处理删除和少数几个例外请求。
l allkeys-lru:根据LRU(Least recently used,最近最少使用)算法尝试回收最少使用的键,使得新添加的数据有空间存放。
l volatile-lru:根据LRU(Least recently used,最近最少使用)算法尝试回收最少使用的键,但仅限于在过期集合的键,使得新添加的数据有空间存放。
l allkeys-random:回收随机的键使得新添加的数据有空间存放。
l volatile-random:回收随机的键使得新添加的数据有空间存放,但仅限于在过期集合的键。
l volatile-ttl:回收在过期集合的键,并且优先回收存活时间(TTL)较短的键,使得新添加的数据有空间存放。
说明
当没有键满足回收前提条件时,数据逐出策略volatile-lru、volatile-random、volatile-ttl与noeviction策略相同,具体见上文noeviction介绍。
4.10 客户端连接缓存实例超时后怎么办?
建议重新连接缓存实例。
超时可能是网络原因,也有可能是服务器端其他因素引起,比如当客户端应用对缓存实例超载或者缓存实例发生了主备切换,会导致Redis客户端出现“Connection timedout”或者“Connection reset by peer”提示。
由于部分客户端不支持与缓存实例的自动重连,因此建议用户在应用程序中增加重新建立连接的功能。
分布式缓存服务用户指南 4 常见问题
文档版本 06 (2017-08-02) 33
4.11 为什么缓存实例创建后实际可用内存比申请规格小而且已使用内存不为 0?
由于系统开销会占用部分资源,主备实例的持久化也需要一部分资源,所以实例创建后,实际可用内存小于申请规格。
除了用户存储数据外,Redis-server内部的buffer以及内部数据结构会占用一部分内存。所以缓存实例创建后,实例已使用内存量不为0。
4.12 为什么创建实例时提示帐号受限?当租户余额小于100人民币时,无法创建实例,如需继续使用分布式缓存服务,请为帐户充值。
分布式缓存服务用户指南 4 常见问题
文档版本 06 (2017-08-02) 34
A 文档修订记录
表 A-1 文档修订记录
发布日期 修订记录
2017-08-02 l 支持集群规格的实例。
l 增加维护时间窗参数。
2017-07-14 第六次正式发布。
修改缓存实例的密码规则,删除1GB规格的实例。
2017-06-30 第五次正式发布。
l 增加实例扩容和备份恢复章节。
l 查看缓存信息章节增加缓存实例状态。
l 配置运行参数章节增加实例支持的最大客户端同时连接数量和预留内存参数。
2017-05-30 第四次正式发布。
l 支持批量删除缓存实例
l 实例运行参数增加latency-monitor-threshold配置选项
2017-04-18 第三次正式发布。
修订了部分章节的内容,增加对接CES的监控指标说明。
2017-03-08 第二次正式发布。
2016-08-20 第一次正式发布。
分布式缓存服务用户指南 A 文档修订记录
文档版本 06 (2017-08-02) 35