用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(in-memory data...

118
分布式缓存服务 用户指南 文档版本 22 发布日期 2018-08-24

Upload: others

Post on 19-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

分布式缓存服务

用户指南

文档版本 22

发布日期 2018-08-24

Page 2: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

目 录

1 访问和使用....................................................................................................................................... 11.1 分布式缓存服务简介.................................................................................................................................................... 11.2 管理分布式缓存服务.................................................................................................................................................... 21.3 与其他服务的关系........................................................................................................................................................ 31.4 其他相关概念................................................................................................................................................................ 4

2 入门................................................................................................................................................... 52.1 环境准备........................................................................................................................................................................ 52.2 购买缓存实例................................................................................................................................................................ 62.2.1 购买 Redis 实例.......................................................................................................................................................... 62.2.2 购买 DCS2.0 Redis 实例.......................................................................................................................................... 102.2.3 购买 Memcached 实例..............................................................................................................................................122.2.4 购买 IMDG 实例.......................................................................................................................................................162.3 连接缓存实例.............................................................................................................................................................. 192.3.1 Redis-cli 连接 Redis 实例.........................................................................................................................................192.3.2 Jedis 连接 Redis 实例............................................................................................................................................... 202.3.3 php redis 连接 Redis 实例........................................................................................................................................ 232.3.4 hiredis 连接 Redis 客户端........................................................................................................................................ 252.3.5 Python Redis 客户端连接 Redis 实例......................................................................................................................272.3.6 NodeJs Redis 客户端连接 Redis 实例..................................................................................................................... 292.3.7 C# Redis 客户端连接 Redis 实例............................................................................................................................ 312.3.8 公网连接 Redis 实例................................................................................................................................................ 332.3.9 连接 Memcached 实例..............................................................................................................................................382.3.10 连接 IMDG 实例.....................................................................................................................................................492.3.11 通过 WebCli 连接 DCS2.0 Redis 实例.................................................................................................................. 502.4 查看缓存实例信息...................................................................................................................................................... 51

3 实例日常操作................................................................................................................................. 543.1 开启缓存实例.............................................................................................................................................................. 543.2 关闭缓存实例.............................................................................................................................................................. 553.3 重启缓存实例.............................................................................................................................................................. 563.4 删除缓存实例.............................................................................................................................................................. 57

4 实例配置管理................................................................................................................................. 604.1 配置运行参数.............................................................................................................................................................. 60

分布式缓存服务用户指南 目 录

文档版本 22 (2018-08-24) ii

Page 3: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

4.2 修改缓存实例维护时间窗.......................................................................................................................................... 654.3 修改缓存实例安全组.................................................................................................................................................. 664.4 开启 Redis 实例的公网访问....................................................................................................................................... 674.5 管理实例后台任务...................................................................................................................................................... 68

5 缓存实例扩容................................................................................................................................. 70

6 缓存实例备份恢复管理................................................................................................................. 726.1 备份与恢复说明.......................................................................................................................................................... 726.2 设置备份策略.............................................................................................................................................................. 746.3 手动备份实例.............................................................................................................................................................. 756.4 实例恢复...................................................................................................................................................................... 76

7 密码管理......................................................................................................................................... 787.1 修改缓存实例密码...................................................................................................................................................... 787.2 重置缓存实例密码...................................................................................................................................................... 797.3 开启 Redis 实例的免密访问....................................................................................................................................... 817.4 开启 Memcached 实例的免密访问.............................................................................................................................82

8 监控................................................................................................................................................. 848.1 支持的监控指标.......................................................................................................................................................... 848.2 设置告警规则.............................................................................................................................................................. 928.3 查看监控指标.............................................................................................................................................................. 93

9 审计................................................................................................................................................. 959.1 云审计服务支持的 DCS 操作列表............................................................................................................................ 959.2 查看云审计日志.......................................................................................................................................................... 96

10 常见问题....................................................................................................................................... 9810.1 概览............................................................................................................................................................................ 9810.2 规格特性.................................................................................................................................................................. 10010.2.1 Redis 主备同步机制怎样?................................................................................................................................. 10010.2.2 DCS 支持数据持久化吗?.................................................................................................................................. 10010.2.3 Redis 默认的数据逐出策略是什么?................................................................................................................. 10010.2.4 为什么缓存实例创建后实际可用内存比申请规格小而且已使用内存不为 0?............................................ 10110.2.5 Redis 实例是否支持多 DB 方式?......................................................................................................................10110.2.6 Redis 集群实例是否支持原生集群?................................................................................................................. 10110.2.7 为什么 DCS 缓存实例上报到云监控服务的监控数据中,有时会出现实例已使用内存略大于实例可使用内存的情况?.................................................................................................................................................................. 10110.2.8 Redis 实例支持的单个 Key 和 Value 数据大小是否有限制?......................................................................... 10110.2.9 使用 Redis 实例的发布订阅(pubsub)有哪些注意事项?..................................................................................10110.3 网络连接与访问...................................................................................................................................................... 10210.3.1 连接 DCS 必须使用密码吗?如何获取密码?................................................................................................. 10210.3.2 DCS 支持公网访问吗?...................................................................................................................................... 10210.3.3 为什么我的缓存实例偶尔会出现状态正常但实例不可用问题?................................................................... 10210.3.4 本地环境是否可以连接缓存实例....................................................................................................................... 103

分布式缓存服务用户指南 目 录

文档版本 22 (2018-08-24) iii

Page 4: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

10.3.5 缓存实例是否支持跨 VPC 访问?..................................................................................................................... 10310.3.6 Redis 命令执行是否有超时时间?超时了会出现什么结果?......................................................................... 10310.4 客户端使用.............................................................................................................................................................. 10310.4.1 DCS 的 Redis 实例支持通用的 Redis 客户端(如 Jedis)吗?....................................................................... 10410.4.2 使用 DCS,需要在弹性云服务器上安装 Redis 吗?....................................................................................... 10410.4.3 客户端连接 DCS 缓存实例超时后怎么办?..................................................................................................... 10410.4.4 为什么我的 DCS 缓存实例支持域名访问后,客户端无法使用域名连接 DCS 缓存实例?........................10410.4.5 客户端连接 DCS 缓存实例是否有特殊要求?................................................................................................. 10410.4.6 使用 Jedis 连接池报错如何处理?..................................................................................................................... 10410.5 配置管理.................................................................................................................................................................. 10610.5.1 DCS 是否支持修改配置参数?.......................................................................................................................... 10610.5.2 如何选择和配置安全组?................................................................................................................................... 10610.5.3 DCS 如何配合 Spring_Session 做 Session 共享?............................................................................................. 10810.5.4 创建实例时为什么无法查看子网和安全组等信息?....................................................................................... 10810.6 备份恢复和扩容...................................................................................................................................................... 10910.6.1 DCS 缓存实例的数据被删除之后,能否找回?.............................................................................................. 10910.6.2 为什么我的缓存实例不能备份和扩容?........................................................................................................... 10910.7 Memcahced 配置和使用..........................................................................................................................................10910.7.1 DCS 的 Memcached 与自建 Memcached 的区别是什么?............................................................................... 10910.7.2 DCS 的 Memcached 支持哪些数据结构?.........................................................................................................10910.7.3 DCS 的 Memcached 过期数据清除策略是什么?.............................................................................................10910.7.4 DCS 的 Memcached 兼容的版本号是多少?..................................................................................................... 11010.7.5 购买 DCS 的 Memcached 时如何选择可用分区?............................................................................................ 11010.7.6 DCS 的 Memcached 如何修改密码?................................................................................................................. 11010.8 IMDG 配置和使用...................................................................................................................................................11010.8.1 什么场景下选择使用 IMDG 数据库?...............................................................................................................11010.8.2 IMDG 是否支持不同的子网?............................................................................................................................11110.8.3 IMDG 的内存是如何管理的?............................................................................................................................11110.8.4 IMDG 是否支持 Java 堆内内存?.......................................................................................................................11110.8.5 IMDG 客户端为何需要 license?........................................................................................................................11110.8.6 IMDG 客户端为何不支持 CacheStoreAdapter?................................................................................................111

A 文档修订记录.............................................................................................................................. 112

分布式缓存服务用户指南 目 录

文档版本 22 (2018-08-24) iv

Page 5: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

1 访问和使用

1.1 分布式缓存服务简介

1.2 管理分布式缓存服务

1.3 与其他服务的关系

1.4 其他相关概念

1.1 分布式缓存服务简介分布式缓存服务(Distributed Cache Service,简称DCS)为您提供即开即用、安全可靠、弹性扩容、便捷管理的在线分布式缓存能力,兼容Redis、Memcached和内存数据网格,提供单机、主备、集群等丰富的实例类型,满足用户高并发及快速数据访问的业务诉求。

l Redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。有关Redis的详细信息,请访问Redis官方网站https://redis.io/。

l Memcached是一种内存Key-Value缓存系统,它支持简单字符串数据的存取,通常作为后端数据库的内容缓存,以提升web的应用性能,降低对后端数据库的性能依赖。DCS全面兼容Memcached协议并增强实现了双机热备和数据持久化。有关Memcached的详细信息,请访问官方网站https://memcached.org/。

l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组织和管理功能。IMDG服务使用业界领先的内存计算平台解决方案Gridgain及Apache@Ignite开源项目,提供分布式的缓存、SQL查询、计算及事务能力,全面兼容JCache(JSR107)和SQL ANSI-99标准访问接口。

– 有关Gridgain的详细信息,请访问官方网站https://www.gridgain.com。

– 有关Ignite的相关信息,请访问官方网站https://ignite.apache.org。

用户需通过图1-1所示访问缓存实例:

分布式缓存服务用户指南 1 访问和使用

文档版本 22 (2018-08-24) 1

Page 6: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

图 1-1 访问 DCS 服务简图

说明

目前,客户端所在弹性云服务器(Elastic Cloud Server)必须和缓存实例处于同一虚拟私有云(Virtual Private Cloud)和子网。

Redis缓存实例如果开启公网访问功能,也可通过弹性IP(Elastic IP address)访问。

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

1.2 管理分布式缓存服务DCS提供了Web化的服务管理平台,即管理控制台,还提供了基于HTTPS请求的API(Application programming interface)管理方式。

l 管理控制台方式

用户注册后登录管理控制台,从主页选择“分布式缓存服务”。

l API方式

如果用户需要将分布式缓存服务集成到第三方系统,用于二次开发,请使用API方式访问,详见《分布式缓存服务API参考》。

分布式缓存服务用户指南 1 访问和使用

文档版本 22 (2018-08-24) 2

Page 7: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

1.3 与其他服务的关系DCS在使用时与华为云其他服务配合使用,本节简单介绍虚拟私有云、弹性云服务器、统一身份认证服务以及云监控服务。

虚拟私有云

分布式缓存服务运行于虚拟私有云,需要使用虚拟私有云创建的IP和带宽。通过虚拟私有云安全组的功能可以增强访问分布式缓存服务的安全性。

弹性云服务器

成功申请分布式缓存服务后,您需要通过弹性云服务器创建的弹性云主机连接使用分布式缓存实例。

统一身份认证服务

通过统一身份认证服务,实现对分布式缓存服务的访问控制。

云监控服务

云监控服务(CloudEye Service)是公有云提供的安全、可扩展的统一监控方案,通过云监控服务集中监控DCS的各种指标,基于云监控服务实现告警和事件通知。具体可参考8 监控。

云审计服务

云审计服务(Cloud Trace Service,简称CTS),为您提供云服务资源的操作记录,记录内容包括您从公有云管理控制台或者开放API发起的的云服务资源操作请求以及每次请求的结果,供您查询、审计和回溯使用。具体可参考9 审计。

分布式缓存服务用户指南 1 访问和使用

文档版本 22 (2018-08-24) 3

Page 8: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC统一身份认证 IAM云监控 CES云审计 CTS

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

1.4 其他相关概念

本节介绍华为云服务的相关概念,如地域、可用分区、项目等基本概念。

地域

地域(Region)指DCS所在的物理位置。同一地域内可用分区(Availability Zone)间内网互通,不同地域间内网不互通。

公有云在不同地域有数据中心(例如,北美、欧洲和亚洲)。与此相应,DCS可用于不同地域。通过在不同地域提供DCS服务,可以将应用程序设计为更接近特定客户的要求,或满足不同地区的法律或其他要求。

可用分区

每个地域包含许多不同的称为“可用分区”的位置,即在同一地域下,电力、网络隔离的物理区域,可用分区之间内网互通,不同可用分区之间物理隔离。每个可用分区都被设计成不受其他可用分区故障的影响,并提供低延迟的网络连接,以连接到同一地区其他可用分区。将DCS缓存实例部署在和您的应用服务不同的可用分区中,可以保护您的应用程序不受单一位置故障的影响。

项目

项目(Project)用于将OpenStack的资源(计算资源、存储资源和网络资源)进行分组和隔离。Project可以是一个部门或者一个项目组。一个帐户中可以创建多个Project。

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

分布式缓存服务用户指南 1 访问和使用

文档版本 22 (2018-08-24) 4

Page 9: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

2 入门

2.1 环境准备

2.2 购买缓存实例

2.3 连接缓存实例

2.4 查看缓存实例信息

2.1 环境准备使用DCS服务前,若采用VPC内连接的方式,您需要创建虚拟私有云(Virtual PrivateCloud,以下简称VPC),并且已配置好安全组与子网。VPC为DCS服务提供一个隔离的、用户自主配置和管理的虚拟网络环境,提升公有云中资源的安全性,简化用户的网络部署。

如果用户已有VPC,可重复使用,不需要多次创建。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“网络 > 虚拟私有云”。

步骤4 在“总览”界面,单击“创建虚拟私有云”。

步骤5 根据界面提示创建虚拟私有云。如无特殊需求,界面参数均可保持默认。关于创建VPC的详细信息可以参考《虚拟私有云用户指南》。

创建虚拟私有云时,会同时创建子网,若需要额外创建子网,请参考步骤6;如果不需要额外创建子网,请执行步骤7。

步骤6 单击需要创建子网的虚拟私有云名称,在“子网”页签中,单击“创建子网”。根据界面提示创建子网。如无特殊需求,界面参数均可保持默认。

关于创建子网的详细信息可以参考《虚拟私有云用户指南》。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 5

Page 10: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

步骤7 创建子网成功后,在返回的界面单击“安全组 > 创建安全组”。根据界面提示创建安全组。如无特殊需求,界面参数均可保持默认。

关于创建安全组的详细信息可以参考《虚拟私有云用户指南》。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

2.2 购买缓存实例

使用分布式缓存服务需要购买DCS实例。分布式缓存服务目前支持的实例类型,包括单机实例、主备实例和集群实例。

注意

DCS本身不涉及用户敏感信息。使用DCS处理数据的目的、范围、处理方式、时限等请遵从当地适用的法律法规。DCS本身不建议传输和存储敏感数据,如果传输和存储敏感数据,请自行加密后再传输和存储。

2.2.1 购买 Redis 实例

购买Redis实例支持“包年包月”和“按需付费”两种方式。您可以根据业务需要购买相应计算能力和存储空间的Redis实例,同时可购买多个Redis实例。

前提条件

Redis实例运行于虚拟私有云。购买Redis实例前,需保证有可用的虚拟私有云,并且已配置好安全组与子网。

创建虚拟私有云、安全组以及子网的方法,请参见2.1 环境准备或者《虚拟私有云用户指南》。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 6

Page 11: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击“购买缓存实例”,进入“服务选型”页面。

步骤5 选择“付费方式”。单击选择“包年/包月”或者“按需付费”。

步骤6 填写Redis实例的参数。参数说明如表2-1所示。

表 2-1 参数说明

参数 说明

区域 DCS服务所在区域,可在页面左上角切换区域。

可用分区 可选择的不同可用分区。

说明

l 当主备或者集群Redis实例进行跨可用分区部署时,如果其中一个可用分区故障,另一个可用分区的节点不受影响。备节点会自动升级为主节点,对外提供服务,从而提供更高的容灾能力。

l 由于实例跨可用分区部署时网络访问效率略低于部署在同一可用分区内,因此Redis实例跨可用分区部署时,主备节点之间同步效率会略有降低。

名称 Redis实例的名称。

l 名称不能为空。

l 只能以英文字母开头。

l 创建单个实例时,名称长度为4到64位的字符串。批量创建实例时,名称长度为4到56位的字符串,且实例名称格式为“自定义名称-n”,其中n从000开始,依次递增。例如,批量创建两个实例,自定义名称为dcs_demo,则两个实例的名称为dcs_demo-000和dcs_demo-001。

l 仅包含英文字母、数字、下划线(_)和中划线(-)。

描述 对Redis实例的描述信息。

缓存类型 缓存的引擎类型,单击选择“Redis”。

缓存版本 缓存的引擎类型的版本,目前支持3.0.7。

实例类型 缓存实例的类型。Redis实例支持“单机”、“主备”和“集群”。

说明集群Redis实例不支持通过VPC对等连接的方式进行跨VPC访问。

请根据实际需要选择实例类型,不同实例类型适用不同的业务场景,具体参考实例缓存类型说明。

备可用分区 备可用分区。

说明只有当前存在多个可用分区,并且用户选择的实例类型为“主备”或“集群”时,才会显示该参数。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 7

Page 12: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

参数 说明

实例规格 缓存实例的规格。

Redis实例规格为:

l 单机和主备实例规格支持2GB、4GB、8GB、16GB、32GB和64GB。

l 按需付费的集群实例,支持的实例规格为64GB、128GB和256GB;包年/包月付费的集群实例,支持的实例规格为64GB、128GB、256GB、512GB和1024GB。

用户默认配额为 多创建5个实例,总内存不超过400GB。用户如需增加配额,单击规格下方的“申请扩大配额”,即可跳转到工单管理界面提交工单,增加配额。

虚拟私有云 已创建的虚拟私有云。

l 虚拟私有云可以为您的Redis实例构建隔离的、用户自主配置和管理的虚拟网络环境。

l 单击“查看虚拟私有云”,系统跳转到虚拟私有云界面,选择相应的虚拟私有云,可以查看安全组的出方向规则和入方向规则。

子网 子网名称与IP地址段。

安全组 已创建的安全组。

安全组是一组对弹性云服务器的访问规则的集合,为同一个VPC内具有相同安全保护需求并相互信任的弹性云服务器提供访问策略。

公网访问 公网访问的开关。

说明

l 公网访问与VPC内访问相比,可能存在网络丢包和抖动等情况,且访问时延有所增加,因此建议仅在业务开发测试阶段开启公网访问Redis实例。

l 公网访问只支持Redis密码模式,免密模式暂不支持,请注意设置密码。

弹性IP地址 开启公网访问功能的Redis实例,需要通过弹性IP访问。

用户可下拉选择已有的弹性IP,或者单击“创建弹性IP”跳转到虚拟私有云的“申请弹性IP”界面创建弹性IP。说明

l 只有“公网访问”开关为打开状态才会显示该参数。

l 如果用户在虚拟私有云的服务页面手动解绑定或删除EIP,DCS服务会自动关闭相应缓存实例的公网访问功能。

免密访问 免密访问的开关。

说明

l 免密模式存在安全风险,请谨慎使用。

l 若打开了“公网访问”开关,必须设置密码。

l 若申请免密模式的Redis实例,申请成功后,可以通过重置密码进行密码设置,具体可参考7.3 开启Redis实例的免密访问章节。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 8

Page 13: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

参数 说明

密码 连接Redis实例的密码。包括密码及确认密码。

说明

l 只有“免密访问”开关为关闭状态时,才会显示该参数。

l DCS服务出于安全考虑,在密码访问模式下,连接使用Redis实例时,需要先进行密码认证。请妥善保存密码,并定期更新密码。

Redis实例密码必须满足以下复杂度要求:

l 密码不能为空。

l 输入长度为6到32位的字符串。

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,在选择的时间段内,服务运维可对实例节点进行维护操作。

备份策略 只有当实例类型为“主备”时显示该参数。关于实例备份的说明及备份策略的设置请参考6 缓存实例备份恢复管理。

配置费用 购买当前规格的实例费用。

选择包年/包月付费模式时,显示当前规格下购买时长的一次性总费用。

选择按需付费模式时,显示当前规格下每小时所需费用。

购买量 l 选择“包年/包月”付费模式时购买量包括使用时长和实例个数。

l 选择“按需付费”时购买量指购买缓存实例个数。

说明开启公网访问后,不支持批量创建Redis实例。

步骤7 填写完上述信息后,进入确认页面。

确认页面显示购买的Redis实例名称、缓存版本和实例规格等信息。

l 如果选择“包年/包月”,单击“立即购买”,进入“订单确认”页面。

l 如果选择“按需付费”,单击“立即购买”,进入“规格确认”页面。

步骤8 确认实例信息无误后:

l 如果选择“包年/包月”,单击“去支付”,进入付款页面,完成付款后即可创建实例。

如果暂不确定,可关闭页面,暂不支付,稍后可在“费用 > 我的订单”中支付或取消订单。

l 如果选择“按需付费”,单击“提交”。开始创建实例。

步骤9 缓存实例创建成功后,用户可以在“缓存管理”页面,查看并管理自己的缓存实例。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 9

Page 14: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

1. 创建缓存实例大约需要5到15分钟,如果创建集群实例,则需要大约30分钟。

2. 缓存实例创建成功后,默认“状态”为“运行中”。

– 对于“按需付费”模式的实例,如果创建缓存实例失败,可参考3.4 删除缓存实例,删除创建失败的缓存实例,然后重新购买。如果重新购买仍然失败,请联系客服。

– 对于“包年/包月”模式的实例,有如下约束:

n 付款成功后,才会创建缓存实例。

n 如果创建缓存实例失败,可能是因为资源开通失败导致。用户可以联系客服取消订单,然后到“费用 > 我的订单”中执行退订操作。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

2.2.2 购买 DCS2.0 Redis 实例

DCS支持2.0版本的Redis实例,采用裸金属部署,支持用户自定义内存规格和自定义特性,您可以根据业务需要购买相应计算能力和存储空间的DCS2.0 Redis实例。

前提条件

DCS2.0 Redis实例运行于虚拟私有云。申请DCS2.0 Redis实例前,需保证有可用的虚拟私有云,并且已配置好安全组与子网。

创建虚拟私有云、安全组以及子网的方法,请参见2.1 环境准备或者《虚拟私有云用户指南》。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击“购买DCS2.0缓存实例”,进入“服务选型”页面。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 10

Page 15: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

步骤5 选择“付费方式”。单击选择“按需付费”。

步骤6 填写DCS2.0 Redis实例的参数。参数说明如表2-2所示。

表 2-2 参数说明

参数 说明

区域 DCS服务所在区域,可在页面左上角切换区域。

可用分区 可选择的不同可用分区。

说明

l 当主备或者集群DCS2.0 Redis实例进行跨可用分区部署时,如果其中一个可用分区故障,另一个可用分区的节点不受影响。备节点会自动升级为主节点,对外提供服务,从而提供更高的容灾能力。

l 由于实例跨可用分区部署时网络访问效率略低于部署在同一可用分区内,因此DCS缓存实例跨可用分区部署时,主备节点之间同步效率会略有降低。

名称 DCS2.0 Redis实例的名称。

l 名称不能为空。

l 只能以英文字母开头。

l 长度为4到64位的字符串。

l 仅包含英文字母、数字、下划线(_)和中划线(-)。

实例配置 DCS2.0 Redis实例的规格和特性。

拖动滚动条可自定义选择实例的规格,可选择的规格范围如下:

l 单机支持128MB、256MB、512MB、1GB~64GB(以1G为步长增长)。

l 主备支持1GB~64GB,以1G为步长增长。

l 集群支持64GB、128GB、256GB、512GB、1024GB。说明

l 申请大于规格8GB的实例,需要提交工单。工单申请通过后,才能选择大于8GB的规格。

l 如果实例的规格大于用户的可用配额,需要先提交工单申请扩大配额。

虚拟私有云 已创建的虚拟私有云。

l 虚拟私有云可以为您的DCS缓存实例构建隔离的、用户自主配置和管理的虚拟网络环境。

l 单击“查看虚拟私有云”,系统跳转到虚拟私有云界面,选择相应的虚拟私有云,可以查看安全组的出方向规则和入方向规则。

子网 子网名称与IP地址段。

安全组 已创建的安全组。

安全组是一组对弹性云服务器的访问规则的集合,为同一个VPC内具有相同安全保护需求并相互信任的弹性云服务器提供访问策略。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 11

Page 16: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

参数 说明

密码 连接DCS2.0 Redis实例的密码。包括密码及确认密码。

说明DCS服务出于安全考虑,在密码访问模式下,连接使用DCS2.0 Redis实例时,需要先进行密码认证。请妥善保存密码,并定期更新密码。

DCS2.0 Redis实例密码必须满足以下复杂度要求:

l 密码不能为空。

l 输入长度为6到32位的字符串。

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,在选择的时间段内,服务运维可对实例节点进行维护操作。

步骤7 填写完上述信息后,单击“立即购买”,开始创建实例。

系统跳转到“缓存管理”页面,用户可查看并管理自己的缓存实例。

1. 创建DCS2.0 Redis实例大约需要5到15分钟。

2. DCS2.0 Redis实例创建成功后,默认“状态”为“运行中”。

3. 如果创建DCS2.0 Redis实例失败,可参考3.4 删除缓存实例,删除创建失败的实例,然后重新购买。如果重新购买仍然失败,请联系客服。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

2.2.3 购买 Memcached 实例

购买Memcached实例支持“包年包月”和“按需付费”两种方式。您可以根据业务需要购买相应计算能力和存储空间的Memcached实例,同时可购买多个Memcached实例。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 12

Page 17: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

前提条件

Memcached实例运行于虚拟私有云。申请Memcached实例前,需保证有可用的虚拟私有云,并且已配置好安全组与子网。

创建虚拟私有云、安全组以及子网的方法,请参见2.1 环境准备或者《虚拟私有云用户指南》。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”进入“缓存管理”页面。

步骤5 单击“购买缓存实例”,进入“服务选型”页面。

步骤6 选择“付费方式”,单击选择“包年/包月”或者“按需付费”。

步骤7 填写Memcached实例的参数。参数说明如表2-3所示。

表 2-3 参数说明

参数 说明

区域 DCS服务所在区域,可在页面左上角切换区域。

可用分区 可选择的不同可用分区。

说明

l 当主备Memcached实例进行跨可用分区部署时,如果其中一个可用分区故障,另一个可用分区的节点不受影响。备节点会自动升级为主节点,对外提供服务,从而提供更高的容灾能力。

l 由于实例跨可用分区部署时网络访问效率略低于部署在同一可用分区内,因此DCS缓存实例跨可用分区部署时,主备节点之间同步效率会略有降低。

名称 Memcached实例的名称。

l 名称不能为空。

l 只能以英文字母开头。

l 长度为4到64位的字符串。

l 仅包含英文字母、数字、下划线(_)和中划线(-)。

描述 对Memcached实例的描述信息。

缓存类型 缓存的引擎类型,单击选择“Memcached”。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 13

Page 18: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

参数 说明

实例类型 缓存实例的类型。Memcached缓存实例支持“单机”和“主备”。

请根据实际需要选择实例类型,不同实例类型适用不同的业务场景,具体参考实例缓存类型说明。

备可用分区 备可用分区。

说明只有当前存在多个可用分区,并且用户选择的实例类型为“主备”时,才会显示该参数。

实例规格 Memcached实例的规格。

Memcached类型的缓存实例规格为:单机和主备实例规格支持2GB、4GB、8GB、16GB、32GB和64GB。用户默认配额为 多创建5个实例,总内存不超过400GB。用户如需增加配额,单击规格下方的“申请扩大配额”,即可跳转到工单管理界面提交工单,增加配额。

虚拟私有云 已创建的虚拟私有云。

l 虚拟私有云可以为您的DCS缓存实例构建隔离的、用户自主配置和管理的虚拟网络环境。

l 单击“查看虚拟私有云”,系统跳转到虚拟私有云界面,选择相应的虚拟私有云,可以查看安全组的出方向规则和入方向规则。

子网 子网名称与IP地址段。

安全组 已创建的安全组。

安全组是一组对弹性云服务器的访问规则的集合,为同一个VPC内具有相同安全保护需求并相互信任的弹性云服务器提供访问策略。

免密访问 免密访问的开关。

说明

l 免密模式存在安全风险,请谨慎使用。

l 若申请免密模式的Memcached实例,申请成功后,可以通过免密访问进行密码设置,具体可参考7.4 开启Memcached实例的免密访问章节。

l Memcached密码访问模式下,实例只能使用二进制访问且需要进行SASL鉴权。

用户名 连接Memcached实例的用户名。

说明只有“免密访问”开关为关闭状态时,才会显示该参数。

l 名称不能为空。

l 只能以英文字母开头。

l 创建单个实例时,名称长度为4到64位的字符串。批量创建实例时,名称长度为4到56位的字符串,且实例名称格式为“自定义名称-n”,其中n从000开始,依次递增。例如,批量创建两个实例,自定义名称为dcs_demo,则两个实例的名称为dcs_demo-000和dcs_demo-001。

l 仅包含英文字母、数字、下划线(_)和中划线(-)。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 14

Page 19: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

参数 说明

密码 连接Memcached实例的密码。包括密码及确认密码。

说明

l 只有“免密访问”开关为关闭状态时,才会显示该参数。

l DCS服务出于安全考虑,在密码访问模式下,连接Memcached实例时,需要先进行密码认证。请妥善保存密码,并定期更新密码。

Memcached实例密码必须满足以下复杂度要求:

l 密码不能为空。

l 密码不能与用户名或倒序的用户名相同。

l 输入长度为6到32位的字符串。

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,在选择的时间段内,服务运维可对实例节点进行维护操作。

备份策略 只有当实例类型为“主备”时显示该参数。关于实例备份的说明及备份策略的设置请参考6 缓存实例备份恢复管理。

配置费用 购买当前规格的实例费用。

购买量 l 选择“包年/包月”付费模式时购买量包括使用时长和实例个数。

l 选择“按需付费”时购买量指购买缓存实例个数。

步骤8 填写完上述信息后,进入确认页面。

确认页面显示申请的Memcached实例名称、缓存版本和实例规格等信息。

l 如果选择“包年/包月”,单击“立即购买”,进入“订单确认”页面。

l 如果选择“按需付费”,单击“立即购买”,进入“规格确认”页面。

步骤9 确认实例信息无误后:

l 如果选择“包年/包月”,单击“去支付”,进入付款页面,完成付款后即可创建实例。

如果暂不确定,可以关闭页面,暂不支付,稍后可在“费用 > 我的订单”中支付或取消订单。

l 如果选择“按需付费”,单击“提交”。开始创建实例。

步骤10 缓存实例创建成功后,用户可以在“缓存管理”页面,查看并管理自己的缓存实例。

1. 创建缓存实例大约需要5到15分钟。

2. 缓存实例创建成功后,默认“状态”为“运行中”。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 15

Page 20: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

– 对于“按需付费”模式的实例,如果创建缓存实例失败,可参考3.4 删除缓存实例,删除创建失败的缓存实例,然后重新购买。如果重新购买仍然失败,请联系客服。

– 对于“包年/包月”模式的实例,有如下约束:

n 付款成功后,才会创建缓存实例。

n 如果创建缓存实例失败,可能是因为资源开通失败导致。用户可以联系客服取消订单,然后到“费用 > 我的订单”中执行退订操作。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

2.2.4 购买 IMDG 实例

购买IMDG实例支持“按需付费”。您可以根据业务需要购买相应计算能力和存储空间的IMDG实例。

前提条件

IMDG实例运行于虚拟私有云。申请IMDG实例前,需保证有可用的虚拟私有云,并且已配置好安全组与子网。

创建虚拟私有云、安全组以及子网的方法,请参见2.1 环境准备或者《虚拟私有云用户指南》。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”进入“缓存管理”页面。

步骤5 单击“购买缓存实例”,进入“服务选型”页面。

步骤6 选择“付费方式”,单击“按需付费”。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 16

Page 21: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

步骤7 填写IMDG实例的参数。参数说明如表2-4所示。

表 2-4 参数说明

参数 说明

区域 DCS服务所在区域,可在页面左上角切换区域。

可用分区 可选择的不同可用分区。

说明当集群IMDG实例进行跨可用分区部署时,如果其中一个可用分区故障,另一个可用分区的节点不受影响。备节点会自动升级为主节点,对外提供服务,从而提供更高的容灾能力。

名称 IMDG实例的名称。

l 名称不能为空。

l 只能以英文字母开头。

l 长度为4到64位的字符串。

l 仅包含英文字母、数字、下划线(_)和中划线(-)。

描述 对IMDG实例的描述信息。

缓存类型 缓存的引擎类型,单击选择“IMDG”。

实例类型 缓存实例的类型。IMDG缓存实例支持“单机”和“集群”。

说明集群实例不支持通过VPC对等连接的方式进行跨VPC访问。

请根据实际需要选择实例类型,不同实例类型适用不同的业务场景,具体参考实例缓存类型说明。

备可用分区 备可用分区。

说明只有当前存在多个可用分区,并且用户选择的实例类型为“集群”时,才会显示该参数。

实例规格 IMDG实例的规格。

IMDG类型的缓存实例规格如下:

l 单机实例规格支持2GB、4GB和8GB。

l 集群实例规格支持16GB。

用户默认配额为 多创建5个实例,总内存不超过400GB。用户如需增加配额,单击规格下方的“申请扩大配额”,即可跳转到工单管理界面提交工单,增加配额。

虚拟私有云 已创建的虚拟私有云。

l 虚拟私有云可以为您的DCS缓存实例构建隔离的、用户自主配置和管理的虚拟网络环境。

l 单击“查看虚拟私有云”,系统跳转到虚拟私有云界面,选择相应的虚拟私有云,可以查看安全组的出方向规则和入方向规则。

子网 子网名称与IP地址段。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 17

Page 22: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

参数 说明

安全组 已创建的安全组。

安全组是一组对弹性云服务器的访问规则的集合,为同一个VPC内具有相同安全保护需求并相互信任的弹性云服务器提供访问策略。

用户名 连接IMDG实例的用户名。

l 名称不能为空。

l 只能以英文字母开头。

l 长度为1到64位的字符串。

l 仅包含英文字母、数字和中划线(-)。

密码 连接IMDG实例的密码。包括密码及确认密码。

说明DCS服务出于安全考虑,在密码访问模式下,连接IMDG实例时,需要先进行密码认证。请妥善保存密码,并定期更新密码。

IMDG实例密码必须满足以下复杂度要求:

l 密码不能为空。

l 密码不能与用户名或倒序的用户名相同。

l 输入长度为6到32位的字符串。

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,在选择的时间段内,服务运维可对实例节点进行维护操作。

步骤8 填写完上述信息后,单击“立即购买”,进入“规格确认”页面。

步骤9 确认实例信息无误后,单击“提交”,开始创建实例。

步骤10 缓存实例创建成功后,用户可以在“缓存管理”页面,查看并管理自己的缓存实例。

1. 创建缓存实例大约需要5到15分钟,如果创建集群实例,则需要大约30分钟。

2. 缓存实例创建成功后,默认“状态”为“运行中”。

3. 如果创建缓存实例失败,可参考3.4 删除缓存实例,删除创建失败的缓存实例,然后重新购买。如果重新申请仍然失败,请联系客服。

----结束

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 18

Page 23: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

2.3 连接缓存实例任何兼容Redis协议和Memcached协议的客户端都可以访问DCS的Redis和Memcached实例,您可以根据自身应用特点选用任何Redis或Memcached客户端。同时可基于IMDGAPI开发应用并部署运行。

说明

使用同一VPC内弹性云服务器ECS上的客户端访问DCS缓存实例时,需要满足以下约束:

l 安装了客户端的弹性云服务器必须与DCS缓存实例属于同一个VPC,并配置相同的安全组,以确保弹性云服务器与DCS缓存实例的网络是连通的。

l 如果弹性云服务器与DCS缓存实例不在相同VPC中,可以通过建立VPC对等连接方式连通网络,具体请参考常见问题:缓存实例是否支持跨VPC访问?

l 如果弹性云服务器与Redis实例配置了不同的安全组,可以通过设置安全组规则连通网络,具体请参考常见问题:如何选择和配置安全组?

2.3.1 Redis-cli 连接 Redis 实例

介绍使用同一VPC内弹性云服务器ECS上的Redis-Cli客户端连接Redis实例的方法。更多的客户端的使用方法,请参考https://redis.io/clients。

前提条件

l 已成功申请Redis实例,且状态为“运行中”。

l 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器用户指南》。

l 如果弹性云服务器为Linux系统,该弹性云服务器必须已经安装gcc编译环境。

操作步骤

步骤1 查看并获取待连接Redis实例的IP地址/域名和端口。

具体步骤请参见2.4 查看缓存实例信息。

步骤2 使用Redis-cli客户端连接Redis实例。

以下步骤以客户端安装在Linux系统上为例进行描述。

1. 获取Redis客户端源码,下载路径为http://download.redis.io/releases/redis-3.0.7.tar.gz。

2. 将Redis客户端源码包上传到已创建的弹性云服务器。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 19

Page 24: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

3. 登录弹性云服务器。

4. 执行如下命令,解压Redis客户端源码包。

tar -xzf redis-3.0.7.tar.gz5. 进入Redis目录并编译Redis客户端源码。

cd redis-3.0.7make

6. 执行以下命令连接Redis实例。

cd src./redis-cli -h XXX -p 6379其中“XXX”为Redis实例的IP地址/域名,“6379”为Redis实例的端口。IP地址/域名和端口获取见步骤步骤1,请按实际情况修改后执行。

7. 如果Redis实例设置了密码访问,则执行本步骤输入密码,校验通过后才可进行缓存数据读写。

auth <password>其中“<password>”为创建Redis实例时自定义的密码,请按实际情况修改后执行。密码访问回显如下:

OKredis 192.168.0.148:6379>

说明

Windows版本的Redis客户端安装包,下载请单击这里。下载后直接解压安装包,然后使用cmd工具进入解压目录,执行以下命令连接redis实例:

redis-cli -h XXX -p 6379 -a <password>

其中:

l “XXX”为Redis实例的IP地址/域名,“6379”为Redis实例的端口。IP地址/域名和端口获取见步骤步骤1,请按实际情况修改后执行。

l “<password>”为创建Redis实例时自定义的密码,请按实际情况修改后执行。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

2.3.2 Jedis 连接 Redis 实例

介绍使用同一VPC内弹性云服务器ECS上的Jedis客户端连接Redis实例的方法。更多的客户端的使用方法,请参考https://redis.io/clients。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 20

Page 25: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

前提条件

l 已成功申请Redis实例,且状态为“运行中”。

l 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器用户指南》。

l 如果弹性云服务器为Linux系统,该弹性云服务器必须已经安装gcc编译环境。

操作步骤

步骤1 查看并获取待连接Redis实例的IP地址/域名和端口。

具体步骤请参见2.4 查看缓存实例信息。

步骤2 登录弹性云服务器。

步骤3 使用Redis Java (Jedis)客户端连接Redis实例。

1. 获取Redis Java (Jedis)客户端源码,具体方法可参考https://github.com/xetorthio/jedis。

2. 编写如下操作代码。

Jedis 客户端访问DCS Redis服务,有以下两种方法:

– Jedis单连接

– JedisPool连接池连接

具体实例如下:

a. jedis单连接示例。// 密码模式创建连接 String host = "192.168.0.150"; int port = 6379; String pwd = "passwd"; Jedis client = new Jedis(host, port); client.auth(pwd); client.connect(); // 执行set指令 String result = client.set("key-string", "Hello, Redis!"); System.out.println( String.format("set指令执行结果:%s", result) ); // 执行get指令 String value = client.get("key-string"); System.out.println( String.format("get指令执行结果:%s", value) );

// 免密模式创建连接 String host = "192.168.0.150"; int port = 6379; Jedis client = new Jedis(host, port); client.connect(); // 执行set指令 String result = client.set("key-string", "Hello, Redis!"); System.out.println( String.format("set指令执行结果:%s", result) ); // 执行get指令 String value = client.get("key-string"); System.out.println( String.format("get指令执行结果:%s", value) );

其中,host为Redis实例的IP地址/域名,port为Redis实例的端口。IP地址/域名和端口获取见步骤步骤1,请按实际情况修改后执行。pwd为创建Redis实例时自定义的密码,请按实际情况修改后执行。

b. jedisPool连接池示例。// 密码模式生成连接池配置信息 String ip = "192.168.0.150"; int port = 6379; String pwd = "passwd"; GenericObjectPoolConfig config = new GenericObjectPoolConfig(); config.setTestOnBorrow(false); config.setTestOnReturn(false);

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 21

Page 26: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

config.setMaxTotal(100); config.setMaxIdle(100); config.setMaxWaitMillis(2000); JedisPool pool = new JedisPool(config, ip, port, 100000, pwd);// 在应用初始化的时候生成连接池 // 在业务操作时,从连接池获取连接 Jedis client = pool.getResource(); try { // 执行指令 String result = client.set("key-string", "Hello, Redis!"); System.out.println( String.format("set指令执行结果:%s", result) ); String value = client.get("key-string"); System.out.println( String.format("get指令执行结果:%s", value) ); } catch (Exception e) { // TODO: handle exception } finally { // 业务操作完成,将连接返回给连接池 if (null != client) { pool.returnResource(client); } } // end of try block // 应用关闭时,释放连接池资源 pool.destroy();

// 免密模式生成连接池配置信息 String ip = "192.168.0.150"; int port = 6379; GenericObjectPoolConfig config = new GenericObjectPoolConfig(); config.setTestOnBorrow(false); config.setTestOnReturn(false); config.setMaxTotal(100); config.setMaxIdle(100); config.setMaxWaitMillis(2000); JedisPool pool = new JedisPool(config, ip, port, 100000);// 在应用初始化的时候生成连接池 // 在业务操作时,从连接池获取连接 Jedis client = pool.getResource(); try { // 执行指令 String result = client.set("key-string", "Hello, Redis!"); System.out.println( String.format("set指令执行结果:%s", result) ); String value = client.get("key-string"); System.out.println( String.format("get指令执行结果:%s", value) ); } catch (Exception e) { // TODO: handle exception } finally { // 业务操作完成,将连接返回给连接池 if (null != client) { pool.returnResource(client); } } // end of try block // 应用关闭时,释放连接池资源 pool.destroy();

其中,ip为Redis实例的IP地址/域名,port为Redis实例的端口。IP地址/域名和端口获取见步骤步骤1,请按实际情况修改后执行。pwd为创建Redis实例时自定义的密码,请按实际情况修改后执行。

3. 参考Redis Java (Jedis) 客户端源码中的readme文件编译代码并运行Redis Java (Jedis)客户端连接Redis实例。

----结束

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 22

Page 27: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

2.3.3 php redis 连接 Redis 实例

介绍使用同一VPC内弹性云服务器ECS上的php redis客户端连接Redis实例的方法。更多的客户端的使用方法,请参考https://redis.io/clients。

前提条件

l 已成功申请Redis实例,且状态为“运行中”。

l 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器用户指南》。

l 如果弹性云服务器为Linux系统,该弹性云服务器必须已经安装gcc编译环境。

操作步骤

步骤1 查看并获取待连接Redis实例的IP地址/域名和端口。

具体步骤请参见2.4 查看缓存实例信息。

步骤2 登录弹性云服务器。

步骤3 安装gcc-c++及make等编译组件。

yum install gcc-c++ make

步骤4 安装php开发包与命令行工具。

执行如下命令,使用yum方式直接安装。

yum install php-devel php-common php-cli

安装完后可查看版本号,确认成功安装:

php -version

步骤5 安装php redis客户端。

1. 下载php redis源文件。

wget http://pecl.php.net/get/redis-4.1.0RC3.tgz以上是当前 新版本。还可以去redis官网或者php官网下载其他版本的phpredis客户端。

2. 解压php redis源文件包。

tar -zxvf redis-4.1.0RC3.tgz

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 23

Page 28: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

cd redis-4.1.0RC33. 编译前先执行扩展命令。

phpize4. 配置php-config文件。

./configure --with-php-config=/usr/bin/php-config不同操作系统,不同的php安装方式,该文件位置不一样。建议在配置前,先查找和确认该文件的目录:

find / -name php-config5. 编译和安装php redis客户端。

make && make install6. 安装完后在php.ini文件中增加extension配置项,用于增加redis模块的引用配置。

vim /usr/local/php/etc/php.ini增加如下配置项:

extension = "/usr/lib64/php/modules/redis.so"

说明

redis.so文件的目录可能不同,需要先查找确认该文件的目录。

7. 保存退出后确认扩展生效。

php -m |grep redis如果以上命令返回了 redis,表示php redis客户端环境搭建好了。

步骤6 使用php redis客户端连接Redis实例。

1. 编辑一个redis.php文件:<?php $redis_host = "{redis_instance_address}"; $redis_port = 6379; $user_pwd = "{password}"; $redis = new Redis(); if ($redis->connect($redis_host, $redis_port) == false) { die($redis->getLastError()); } if ($redis->auth($user_pwd) == false) { die($redis->getLastError()); } if ($redis->set("welcome", "Hello, DCS for Redis!") == false) { die($redis->getLastError()); } $value = $redis->get("welcome"); echo $value; $redis->quit();?>

其中,{redis_instance_address}为Redis实例的IP地址/域名,“6379”为Redis实例的端口。IP地址/域名和端口获取见步骤步骤1,请按实际情况修改后执行。{password}为创建Redis实例时自定义的密码,请按实际情况修改后执行。

2. 执行 php redis.php,连接Redis实例。

----结束

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 24

Page 29: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

2.3.4 hiredis 连接 Redis 客户端

介绍使用同一VPC内弹性云服务器ECS上的C++ hiredis客户端连接Redis实例的方法。更多的客户端的使用方法,请参考https://redis.io/clients。

前提条件

l 已成功申请Redis实例,且状态为“运行中”。

l 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器用户指南》。

l 如果弹性云服务器为Linux系统,该弹性云服务器必须已经安装gcc编译环境。

操作步骤

步骤1 查看并获取待连接Redis实例的IP地址/域名和端口。

具体步骤请参见2.4 查看缓存实例信息。

步骤2 登录弹性云服务器。

步骤3 安装gcc、make和hiredis。

如果系统没有自带编译环境,可以使用yum方式安装。

yum install gcc make

步骤4 下载并解压hiredis。

wget https://github.com/redis/hiredis/archive/master.zip;

步骤5 进入到解压目录后编译安装。

make

make install

步骤6 使用hiredis客户端连接Redis实例。

关于hiredis的使用,请参考redis官网的使用介绍。这里举一个简单的例子,介绍连接、密码鉴权等的使用。

1. 编辑连接Redis实例的demo示例,然后保存退出。

vim connRedis.c

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 25

Page 30: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

示例内容如下:

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <hiredis.h>int main(int argc, char **argv) { unsigned int j; redisContext *conn; redisReply *reply; if (argc < 3) { printf("Usage: example {instance_ip_address} 6379 {password}\n"); exit(0); } const char *hostname = argv[1]; const int port = atoi(argv[2]); const char *password = argv[3]; struct timeval timeout = { 1, 500000 }; // 1.5 seconds conn = redisConnectWithTimeout(hostname, port, timeout); if (conn == NULL || conn->err) { if (conn) { printf("Connection error: %s\n", conn->errstr); redisFree(conn); } else { printf("Connection error: can't allocate redis context\n"); } exit(1); } /* AUTH */ reply = redisCommand(conn, "AUTH %s", password); printf("AUTH: %s\n", reply->str); freeReplyObject(reply);

/* Set */ reply = redisCommand(conn,"SET %s %s", "welcome", "Hello, DCS for Redis!"); printf("SET: %s\n", reply->str); freeReplyObject(reply);

/* Get */ reply = redisCommand(conn,"GET welcome"); printf("GET welcome: %s\n", reply->str); freeReplyObject(reply);

/* Disconnects and frees the context */ redisFree(conn); return 0;}

2. 执行以下命令进行编译。

gcc connRedis.c -o connRedis -I /usr/local/include/hiredis -lhiredis如果有报错,可查找hiredis.h文件路径,并修改编译命令。

编译完后得到一个可执行文件connRedis。3. 执行以下命令,连接Redis实例。

./connRedis {redis_ip_address} 6379 {password}其中,{redis_instance_address}为Redis实例的IP地址/域名,“6379”为Redis实例的端口。IP地址/域名和端口获取见步骤步骤1,请按实际情况修改后执行。{password}为创建Redis实例时自定义的密码,请按实际情况修改后执行。

返回以下回显信息,表示成功连接Redis实例。

AUTH: OKSET: OKGET welcome: Hello, DCS for Redis!

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 26

Page 31: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

注意

如果运行报错找不到hiredis库文件,可参考如下命令,将相关文件拷贝到系统目录,并增加动态链接。

mkdir /usr/lib/hirediscp /usr/local/lib/libhiredis.so.0.13 /usr/lib/hiredis/mkdir /usr/include/hirediscp /usr/local/include/hiredis/hiredis.h /usr/include/hiredis/echo '/usr/local/lib' &gt;&gt;/etc/ld.so.confldconfig以上so文件与.h文件的位置,需要替换成实际文件位置。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

2.3.5 Python Redis 客户端连接 Redis 实例

介绍使用同一VPC内弹性云服务器ECS上的Python Redis客户端Redis-py连接Redis实例的方法。更多的客户端的使用方法,请参考https://redis.io/clients。

前提条件

l 已成功申请Redis实例,且状态为“运行中”。

l 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器用户指南》。

l 如果弹性云服务器为Linux系统,该弹性云服务器必须已经安装gcc编译环境。

操作步骤

步骤1 查看并获取待连接Redis实例的IP地址/域名和端口。

具体步骤请参见2.4 查看缓存实例信息。

步骤2 登录弹性云服务器。

步骤3 安装Python和Python Redis客户端Redis-py。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 27

Page 32: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

1. 如果系统没有自带Python,可以使用yum方式安装。

yum install python

2. 下载并解压redis-py。

wget https://github.com/andymccurdy/redis-py/archive/master.zip;

3. 进入到解压目录后安装Python Redis客户端Redis-py。

python setup.py install

安装后执行python命令,返回如下信息说明成功安装Redis-py:Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import redis>>>

步骤4 使用Python Redis客户端Redis-py客户端连接Redis实例。

以下步骤以命令行模式进行示例(也可以将命令写入python脚本中再执行):

1. 执行python命令,进入命令行模式。

返回如下信息说明已进入命令行模式:

Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import redis>>>

2. 在命令行中执行以下命令,连接Redis实例。r = redis.StrictRedis(host='192.168.0.171', port=6379, password='******');

其中,192.168.0.171为Redis实例的IP地址/域名,“6379”为Redis实例的端口。IP地址/域名和端口获取见步骤步骤1,请按实际情况修改后执行。******为创建Redis实例时自定义的密码,请按实际情况修改后执行。

界面显示一行新的命令行,说明连接Redis实例成功。

Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import redis>>> r = redis.StrictRedis(host='192.168.0.171', port=6379, password='******');>>>

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 28

Page 33: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

2.3.6 NodeJs Redis 客户端连接 Redis 实例

介绍使用同一VPC内弹性云服务器ECS上的NodeJs Redis客户端ioredis连接Redis实例的方法。更多的客户端的使用方法,请参考https://redis.io/clients。

前提条件

l 已成功申请Redis实例,且状态为“运行中”。

l 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器用户指南》。

l 如果弹性云服务器为Linux系统,该弹性云服务器必须已经安装gcc编译环境。

操作步骤

l 客户端服务器为Ubuntu(debian系列)

步骤1 查看并获取待连接Redis实例的IP地址/域名和端口。

具体步骤请参见2.4 查看缓存实例信息。

步骤2 登录弹性云服务器。

步骤3 安装NodeJs。

apt install nodejs-legacy

如果以上命令安装不了,备选方式如下:

wget https://nodejs.org/dist/v0.12.4/node-v0.12.4.tar.gz --no-check-certificate ;

tar -xvf node-v0.12.4.tar.gz;

cd node-v0.12.4;

./configure;

make;

make install;

说明

安装完成后,可执行node --version查看NodeJs的版本号,确认NodeJs已安装成功。

步骤4 安装js包管理工具npm。

apt install npm

步骤5 安装NodeJs redis客户端 ioredis。

npm install ioredis

步骤6 编辑连接Redis实例的示例脚本。

编辑连接示例脚本ioredisdemo.js。示例脚本中增加以下内容,包括连接以及数据读取。

var Redis = require('ioredis');var redis = new Redis({ port: 6379, // Redis port host: '192.168.0.196', // Redis host family: 4, // 4 (IPv4) or 6 (IPv6)

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 29

Page 34: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

password: '******', db: 0}); redis.set('foo', 'bar');redis.get('foo', function (err, result) { console.log(result);}); // Or using a promise if the last argument isn't a functionredis.get('foo').then(function (result) { console.log(result);});// Arguments to commands are flattened, so the following are the same:redis.sadd('set', 1, 3, 5, 7);redis.sadd('set', [1, 3, 5, 7]);// All arguments are passed directly to the redis server:redis.set('key', 100, 'EX', 10);

其中,host为Redis实例的IP地址/域名,port为Redis实例的端口。IP地址/域名和端口获取见步骤步骤1,请按实际情况修改后执行。******为创建Redis实例时自定义的密码,请按实际情况修改后执行。

步骤7 运行示例脚本,连接Redis实例。

node ioredisdemo.js

----结束

l 客户端服务器为centos(redhat系列)

步骤1 查看并获取待连接Redis实例的IP地址/域名和端口。

具体步骤请参见2.4 查看缓存实例信息。

步骤2 登录弹性云服务器。

步骤3 安装NodeJs。

yum install nodejs

如果以上命令安装不了,备选方式如下:

wget https://nodejs.org/dist/v0.12.4/node-v0.12.4.tar.gz --no-check-certificate ;

tar -xvf node-v0.12.4.tar.gz;

cd node-v0.12.4;

./configure;

make;

make install;

说明

安装完成后,可执行node -v查看NodeJs的版本号,确认NodeJs已安装成功。

步骤4 安装js包管理工具npm。

yum install npm

步骤5 安装NodeJs redis客户端 ioredis。

npm install ioredis

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 30

Page 35: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

步骤6 编辑连接Redis实例的示例脚本。

编辑连接示例脚本ioredisdemo.js。示例脚本中增加以下内容,包括连接以及数据读取。

var Redis = require('ioredis');var redis = new Redis({ port: 6379, // Redis port host: '192.168.0.196', // Redis host family: 4, // 4 (IPv4) or 6 (IPv6) password: '******', db: 0});redis.set('foo', 'bar');redis.get('foo', function (err, result) { console.log(result);});// Or using a promise if the last argument isn't a functionredis.get('foo').then(function (result) { console.log(result);}); // Arguments to commands are flattened, so the following are the same:redis.sadd('set', 1, 3, 5, 7);redis.sadd('set', [1, 3, 5, 7]); // All arguments are passed directly to the redis server:redis.set('key', 100, 'EX', 10);

其中,host为Redis实例的IP地址/域名,port为Redis实例的端口。IP地址/域名和端口获取见步骤步骤1,请按实际情况修改后执行。******为创建Redis实例时自定义的密码,请按实际情况修改后执行。

步骤7 运行示例脚本,连接Redis实例。

node ioredisdemo.js

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

2.3.7 C# Redis 客户端连接 Redis 实例

介绍使用同一VPC内弹性云服务器ECS上的C# Redis客户端连接Redis实例的方法。更多的客户端的使用方法,请参考https://redis.io/clients。

前提条件

l 已成功申请Redis实例,且状态为“运行中”。

l 已创建弹性云服务器,创建弹性云服务器的方法,请参见《弹性云服务器用户指南》。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 31

Page 36: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

l 如果弹性云服务器为Linux系统,该弹性云服务器必须已经安装gcc编译环境。

操作步骤

步骤1 查看并获取待连接Redis实例的IP地址/域名和端口。

具体步骤请参见2.4 查看缓存实例信息。

步骤2 登录弹性云服务器。

弹性云服务器操作系统,这里以Window为例。

步骤3 在弹性云服务器安装VS 2017社区版。

步骤4 启动VS 2017,新建一个工程。

工程名自定义,这里设置为“redisdemo”。

步骤5 使用VS的nuget管理工具安装C# Redis客户端StackExchange.Redis。

按照如图2-1操作,进入程序包管理器控制台,在nuget控制台输入:Install-PackageStackExchange.Redis -Version 1.2.6。(版本号可以不指定)

图 2-1 进入程序包管理器控制台

步骤6 编写如下代码,并使用String的set和get测试连接。using System;using StackExchange.Redis;

namespace redisdemo{ class Program { // redis config private static ConfigurationOptions connDCS = ConfigurationOptions.Parse("10.10.38.233:6379,password=********,connectTimeout=2000"); //the lock for singleton private static readonly object Locker = new object(); //singleton private static ConnectionMultiplexer redisConn; //singleton public static ConnectionMultiplexer getRedisConn() { if (redisConn == null) { lock (Locker) { if (redisConn == null || !redisConn.IsConnected) { redisConn = ConnectionMultiplexer.Connect(connDCS);

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 32

Page 37: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

} } } return redisConn; } static void Main(string[] args) { redisConn = getRedisConn(); var db = redisConn.GetDatabase(); //set get string strKey = "Hello"; string strValue = "DCS for Redis!"; Console.WriteLine( strKey + ", " + db.StringGet(strKey));

Console.ReadLine(); } }}

其中,10.10.38.233:6379分别为Redis实例的IP地址/域名以及端口。IP地址/域名和端口获取见步骤步骤1,请按实际情况修改后执行。********为创建Redis实例时自定义的密码,请按实际情况修改后执行。

步骤7 运行代码,控制台界面输出如下,表示连接成功。

Hello, DCS for Redis!

关于客户端的其他命令,可以参考官网:https://stackexchange.github.io/StackExchange.Redis/。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

2.3.8 公网连接 Redis 实例

Redis客户端可通过公网地址连接Redis实例。该功能便于开发人员在本地搭建开发或测试环境,提高开发效率。生产环境(正式环境)中,请通过VPC内连接方式访问Redis实例,保障访问效率。本节介绍如何搭建一个本地环境与Redis实例间的网络通道,以Redis-cli为例演示通过公网连接Redis实例。更多的客户端的使用方法,请参考https://redis.io/clients。

前提条件

使用Redis-cli客户端通过公网访问Redis实例时:

l 已成功申请密码模式的Redis实例,且状态为“运行中”。

l Redis实例已开启公网访问功能,具体可参考4.4 开启Redis实例的公网访问。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 33

Page 38: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

l 如果访问Redis实例需要使用证书,可根据2.4 查看缓存实例信息,进入到缓存实例详情页面提前下载该证书。

l Redis实例安全组需要配置了正确的规则(允许36379端口被外部地址访问),客户端才能正常连接Redis实例。具体请参考如何选择和配置安全组?

Stunnel 客户端安装配置(Windows 版)

步骤1 查看并获取待连接Redis实例的弹性IP地址和端口。

具体步骤请参见2.4 查看缓存实例信息。

步骤2 下载Stunnel安装包。从http://www.stunnel.org/downloads.html下载 新版本的Windows版Stunnel安装包(以exe结尾的安装包,例如,stunnel-5.44-win32-installer.exe)到本地Windows设备。

步骤3 运行Stunnel安装程序,安装Stunnel客户端。

步骤4 配置Stunnel客户端。在任务栏单击图标 右键,选择“Edit Configration”,新增如下配置内容,然后保存退出。

[redis-client]client = yesCAfile = D:\tmp\dcs\dcs-ca.ceraccept = 8000connect = {弹性IP地址}:{端口}

以下参数需要根据说明修改,其他参数不用修改:

l client值固定填yes,表示为Stunnel客户端。

l CAfile为CA证书,可选。如果需要,请根据2.4 查看缓存实例信息,进入到Redis实例详情页面下载该证书;如果不需要,可不配置,删除此参数。

l accept为Stunnel监听端口,可以自定义。Redis客户端访问实例时填写此端口。

l connect为服务端连接地址,此处填Redis实例的IP地址与端口,即分别替换为步骤步骤1获取的弹性IP地址和端口。

步骤5 在任务栏单击图标 右键,选择“Reload Configration”。

步骤6 打开命令提示符工具cmd.exe,执行以下命令,查看127.0.0.1:8000是否已经被监听。

netstat -an |find "8000"

假设客户端的监听端口配置为“8000”。

返回列表行中显示有“127.0.0.1:8000”,状态为“LISTENING”,表示stunnel客户端正常运行。Redis客户端连接“127.0.0.1:8000”,stunnel会将请求转发给DCS的Redis实例。

----结束

Stunnel 客户端安装配置(Linux 版)

步骤1 查看并获取待连接Redis实例的弹性IP地址和端口。

具体步骤请参见2.4 查看缓存实例信息。

步骤2 登录本地Linux设备。

步骤3 安装stunnel客户端。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 34

Page 39: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

这里主要介绍Stunnel客户端的几种常见安装方法。

说明

推荐使用apt和yum两种安装方式,常见Linux系统,一般至少支持其中一种。

其他常见系统下的Stunnel客户端安装请参考:

“Mac下的Stunnel客户端安装”。

1. apt-get方式安装。apt-get管理deb格式的软件包,适用于Debian类操作系统,如Ubuntu。命令如下:

apt install stunnel 或apt-get install stunnel如果命令执行后提示找不到Stunnel,可以尝试执行apt update,更新配置后再安装Stunnel。

2. yum方式安装。管理rpm格式的软件包,适用于Fedora、CentOS、Red Hat等操作系统。

yum install stunnel3. 其他通用方式安装。Unix系统还可以直接下载Stunnel安装包,编译后安装。前提

是需要安装gcc编译环境,以及openssl-devel工具。安装如遇到困难,可参考Stunnel官方网站的帮助。

下载并解压Stunnel后,进入解压目录,执行以下命令编译和安装:

./configure;make && make install;

步骤4 安装成功后,编辑/etc/default/stunnel4,将参数ENABLED设置为1。

说明

不同的Linux系统版本,配置文件名称可能有差异,可在/etc/default/路径下查找该文件。

... ENABLED=1...

步骤5 打开配置文件。

stunnel配置文件名为:stunnel.conf。配置文件可以存储在任何路径,在Stunnel启动的时候指定改配置文件即可。

也可以按照Stunnel默认的方式新增配置文件:

1. apt-get方式

路径为/etc/stunnel/stunnel.conf,如果路径不存在或者路径下无配置文件,可新增。

2. yum方式

默认路径为/usr/local/stunnel/stunnel.conf,如果路径不存在或者路径下无配置文件,可新增。

3. 其他通用方式

路径为/usr/local/stunnel/stunnel.conf,如果路径不存在或者路径下无配置文件,可新增。

说明

如果不确定配置文件应该存储在哪,可以在安装后直接输入stunnel命令,获取文件路径提示。

步骤6 在配置文件中新增如下内容,然后保存退出。

debug = 4output = /var/log/stunnel.log

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 35

Page 40: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

sslVersion = all[redis-client]client = yesaccept = 8000connect = {弹性IP地址}:{端口}CAfile = /etc/stunnel/dcs-ca.cer

以下参数需要根据说明修改,其他参数不用修改:

l client值固定填yes,表示为Stunnel客户端。

l CAfile为CA证书,可选。如果需要,请根据2.4 查看缓存实例信息,进入到缓存实例详情页面下载该证书;如果不需要,此参数请删除。

l accept为Stunnel监听端口,可以自定义。Redis客户端访问缓存实例时填写此端口。

l connect为Stunnel转发地址与端口,此处填Redis缓存实例的IP地址与端口,即分别替换为步骤步骤1获取的弹性IP地址和端口。

步骤7 启动stunnel服务。

1. 使用了Stunnel默认配置文件,则直接执行命令:

stunnel2. 自定义配置文件的路径,则执行命令:

stunnel /{customdir}/stunnel.conf其中/{customdir}/stunnel.conf为自定义存储路径。

3. Ubuntu还可以使用 service stunnel4 start 或者systemctl start stunnel4。Stunnel4.x的版本,服务/进程名为stunnel4。

启动后可执行ps -ef|grep stunnel确认进程是否正常运行。

步骤8 执行以下命令,查看127.0.0.1:8000是否已经被监听。

其中,8000替换为步骤6中accept字段配置的Stunnel监听端口。

netstat -plunt |grep 8000|grep "LISTEN"

返回列表行中显示有“127.0.0.1:8000”,表示stunnel客户端正常运行。Redis客户端连接“127.0.0.1:8000”,stunnel会将请求转发给DCS的Redis实例。

----结束

连接 Redis 实例

本节介绍使用redis命令行工具连接分布式缓存实例。

步骤1 Window系统上连接Redis实例参考以下步骤。

1. 获取Redis客户端安装包到本地Windows设备,并解压安装包。

Windows版本的Redis客户端安装包,下载请单击这里。

2. 打开命令提示符工具cmd.exe,并执行以下命令,进入Redis客户端安装包的解压目录。

以解压目录D:\redis-64.3.0.503为例,命令如下:

D:cd D:\redis-64.3.0.503

3. 执行以下命令连接Redis实例。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 36

Page 41: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

redis-cli -p 8000 -a <password>

其中“8000”为步骤4中accept字段配置的Stunnel监听端口;<password>为创建Redis实例时自定义的密码,请按实际情况修改后执行。

连接成功后,回显信息如下:

127.0.0.1:8000>

输入“info”可正常返回Redis实例信息。如果不能正常返回,或者连接异常断开,可在任务栏找到Stunnel图标,并右键单击,选择“Show Log Window”,打开Stunnel客户端的日志查看原因。

步骤2 Linux系统上连接Redis缓存实例参考以下步骤。

1. 获取Redis客户端源码,下载路径为http://download.redis.io/releases/redis-3.0.7.tar.gz。

2. 将Redis客户端源码包上传到本地Linux设备。

3. 登录本地Linux设备。

4. 执行如下命令,解压Redis客户端源码包。

tar -xzf redis-3.0.7.tar.gz

5. 进入Redis目录并编译Redis客户端源码。

cd redis-3.0.7

make

6. 执行以下命令连接Redis实例。

cd src

./redis-cli -p 8000

其中“8000”为步骤6中accept字段配置的Stunnel监听端口。

7. 输入密码,校验通过后才可进行缓存数据读写。

auth <password>

其中,<password>为创建Redis实例时自定义的密码,请按实际情况修改后执行。

连接成功后,回显信息如下:

OK 127.0.0.1:8000>

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 37

Page 42: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

2.3.9 连接 Memcached 实例

任何兼容Memcached协议的客户端都可以连接使用DCS的Memcached实例。您可以根据自身应用特点选用合适的Memcached客户端。

前提条件

l 已成功申请Memcached实例,且状态为“运行中”。

l 使用Telnet客户端连接Memcached实例时,需要开启免密访问模式,若未开启请参考7.4 开启Memcached实例的免密访问。其他客户端密码模式和免密模式都支持。

l 已创建弹性云服务器,并已安装好客户端。创建弹性云服务器的方法,请参见《弹性云服务器用户指南》。

说明

您创建的弹性云服务器必须与Memcached实例属于同一个VPC,并配置相同的安全组,以确保弹性云服务器与缓存实例的网络是连通的。

如果弹性云服务器与Memcached实例不在相同VPC中,可以通过建立VPC对等连接方式连通网络,具体请参考常见问题:缓存实例是否支持跨VPC访问?

如果弹性云服务器与Memcached实例配置了不同的安全组,可以通过设置安全组规则连通网络,具体请参考常见问题:如何选择和配置安全组?

l 建议在使用本手册时删除示例代码中的所有注释信息。

l 请确保所有命令行、代码块输入格式都是UTF-8,否则会出现编译出错或者运行失败的情况。

Telnet 客户端示例

Telnet客户端只支持连接免密访问模式下的Memcached实例,此时只支持二进制协议。若未开启请参考7.4 开启Memcached实例的免密访问。

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”,进入缓存实例信息页面。

步骤5 单击需要使用的其中一个Memcached实例的名称,进入该Memcached实例的基本信息页面。查看并获取该Memcached实例的IP地址/域名和端口。

步骤6 连接Memcached实例。

1. 登录已创建的弹性云服务器。

2. 执行如下命令,确认是否已安装Telnet客户端。

which telnet若界面显示Telnet客户端所在目录,表示当前云服务器已安装Telnet客户端。否则请自行安装Telnet客户端。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 38

Page 43: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

说明

在Windows系统中,可通过“控制面板 > 程序 > 打开或关闭Windows功能”,找到并打开“Telnet客户端”功能。

3. 执行如下命令,连接并使用Memcached实例。

telnet {ip or domain name} {port}其中{ip or domain name} 为Memcached实例的IP地址/域名,{port}为Memcached实例的端口。IP地址/域名和端口获取方法请参考步骤步骤5,请按实际情况修改后执行。

界面提示如下表示连接缓存实例成功。

Trying XXX.XXX.XXX.XXX...Connected to XXX.XXX.XXX.XXX.Escape character is '^]'.

使用示例如下(其中set和get两行为输入的命令,其他为命令返回内容):

set hello 0 0 6world!STOREDget helloVALUE hello 0 6world!END

----结束

Java 客户端示例

l 用户的弹性云服务器已安装好Java JDK和常用的IDE(如Eclipse)。

l 已获取spymemcached-x.y.z.jar依赖包。

说明

其中x.y.z为依赖包的版本号,建议获取最新版本。

步骤1 获取Memcached实例的IP和端口。

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

3. 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

4. 单击左侧菜单栏的“缓存管理”,进入缓存实例信息页面。

5. 单击需要使用的其中一个Memcached实例的名称,进入该Memcached实例的基本信息页面。查看并获取该Memcached实例的IP地址/域名和端口。

步骤2 将已获取的spymemcached-x.y.z.jar依赖包上传到已创建的弹性云服务器。

步骤3 登录弹性云服务器。

步骤4 在Eclipse中创建一个Java工程,并将spymemcached-x.y.z.jar依赖包导入,工程名可自定义。

步骤5 新建一个ConnectMemcached1类,将如下Java代码复制到类中并修改代码。

l 密码模式代码示例

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 39

Page 44: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

其中ip or domain name:port需要修改为步骤1获取的Memcached实例IP地址/域名和端口。userName和password需要修改为Memcached实例的用户名和密码。

//java 连接加密的Memcached代码import java.io.IOException;import java.util.concurrent.ExecutionException;

import net.spy.memcached.AddrUtil;import net.spy.memcached.ConnectionFactoryBuilder;import net.spy.memcached.ConnectionFactoryBuilder.Protocol;import net.spy.memcached.MemcachedClient;import net.spy.memcached.auth.AuthDescriptor;import net.spy.memcached.auth.PlainCallbackHandler;import net.spy.memcached.internal.OperationFuture;

public class ConnectMemcached1{ public static void main(String[] args) { final String connectionaddress = "ip or domain name:port"; final String username = "userName";//用户名 final String password = "password";//密码 MemcachedClient client = null; try { AuthDescriptor authDescriptor = new AuthDescriptor(new String[] {"PLAIN"}, new PlainCallbackHandler(username, password)); client = new MemcachedClient( new ConnectionFactoryBuilder().setProtocol(Protocol.BINARY) .setAuthDescriptor(authDescriptor) .build(), AddrUtil.getAddresses(connectionaddress)); String key = "memcached";//向Memcached中存一个key为"memcached"的数据 String value = "Hello World";//value为Hello World int expireTime = 5; // 过期时间,单位s; 从写入时刻开始计时,超过expireTime s后,该数据过期失效,无法再读出; doExcute(client, key, value, expireTime);//执行操作 } catch (IOException e) { e.printStackTrace(); } }

/** *向Memcached写数据方法 */ private static void doExcute(MemcachedClient client, String key, String value, int expireTime) { try { OperationFuture<Boolean> future = client.set(key, expireTime, value); future.get();// spymemcached set()是异步的,future.get() 等待cache.set()操作结束,也可以不等待,用户根据自己需求选择; System.out.println("Set操作成功"); System.out.println("Get操作:" + client.get(key)); Thread.sleep(6000);//等待6000毫秒,即6秒,该数据将会过期失效,无法再读出 System.out.println("6秒后再执行Get操作:" + client.get(key));

} catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } if (client != null)

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 40

Page 45: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

{ client.shutdown(); } }}

l 免密模式代码示例

其中ip or domain name:port需要修改为步骤1获取的Memcached实例IP地址/域名和端口。

//java 连接免密的Memcached代码import java.io.IOException;import java.util.concurrent.ExecutionException;

import net.spy.memcached.AddrUtil;import net.spy.memcached.BinaryConnectionFactory;import net.spy.memcached.MemcachedClient;import net.spy.memcached.internal.OperationFuture;

public class ConnectMemcached{ public static void main(String[] args) { final String connectionaddress = "ip or domain name:port"; MemcachedClient client = null; try { client = new MemcachedClient(new BinaryConnectionFactory(), AddrUtil.getAddresses(connectionaddress)); String key = "memcached";//向Memcached中存一个key为"memcached"的数据 String value = "Hello World";//value为Hello World int expireTime = 5; // 过期时间,单位s; 从写入时刻开始计时,超过 expireTime s后,该数据过期失效,无法再读出; doExcute(client, key, value, expireTime);//执行操作 } catch (IOException e) { e.printStackTrace(); } }

/** *向Memcached写数据方法 */ private static void doExcute(MemcachedClient client, String key, String value, int expireTime) { try { OperationFuture<Boolean> future = client.set(key, expireTime, value); future.get();// spymemcached set()是异步的,future.get() 等待cache.set()操作结束,也可以不等待,用户根据自己需求选择; System.out.println("Set操作成功"); System.out.println("Get操作:" + client.get(key)); Thread.sleep(6000);//等待6000毫秒,即6秒,该数据将会过期失效,无法再读出 System.out.println("6秒后再执行Get操作:" + client.get(key));

} catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } if (client != null) { client.shutdown(); }

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 41

Page 46: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

}}

步骤6 运行main方法,在Eclipse下的Console窗口可以看到如下结果。Set操作成功Get操作:Hello World6秒后再执行Get操作:null

----结束

Python 客户端示例

l 用户的弹性云服务器已安装好Python,建议为2.7.6或更高版本。

l 已获取python-binary-memcached-x.y.z.zip依赖包。

说明

其中x.y.z为依赖包的版本号,建议获取最新版本。

步骤1 获取Memcached实例的IP地址/域名和端口。

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

3. 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

4. 单击左侧菜单栏的“缓存管理”,进入缓存实例信息页面。

5. 单击需要使用的其中一个Memcached实例的名称,进入该Memcached实例的基本信息页面。查看并获取该Memcached实例的IP地址/域名和端口。

步骤2 将已获取的python-binary-memcached-x.y.z.zip依赖包上传到已创建的弹性云服务器,假设下载得到的包名为python-binary-memcached-x.y.z.zip。

步骤3 登录弹性云服务器。

步骤4 执行如下命令安装依赖包。

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;

步骤5 新建Python文件如dcs_test.py,将如下Python代码复制到dcs_test.py文件并修改代码。

l 密码模式代码示例

其中ip or domain name:port需要修改为步骤1获取的Memcached实例IP地址/域名和端口。userName和password需要修改为Memcached实例的用户名和密码。import bmemcachedclient = bmemcached.Client(('ip or domain name:port'), 'userName', 'password')print "set('key', 'hello world!')"print client.set('key', 'hello world!')

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 42

Page 47: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

print "get('key')"print client.get('key')

l 免密模式代码示例

其中ip or domain name:port需要修改为步骤1获取的Memcached实例IP地址/域名和端口。

import bmemcachedclient = 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')

步骤6 运行dcs_test.py文件,可以看到如下结果。# python test.py set('key', 'hello world!')Trueget('key')hello world!

----结束

C++客户端示例

l 用户的弹性云服务器已安装好GCC,建议为4.8.4或更高版本。

l 已获取libmemcached-x.y.z.tar.gz依赖包。

说明

其中x.y.z为依赖包的版本号,建议获取最新版本。

步骤1 获取Memcached实例的IP地址/域名和端口。

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

3. 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

4. 单击左侧菜单栏的“缓存管理”,进入缓存实例信息页面。

5. 单击需要使用的其中一个Memcached实例的名称,进入该Memcached实例的基本信息页面。查看并获取该Memcached实例的IP地址/域名和端口。

步骤2 将已获取的libmemcached-x.y.z.tar.gz依赖包上传到已创建的弹性云服务器。

步骤3 登录弹性云服务器。

步骤4 安装sasl相关依赖包。

debian类系统:apt install libsasl2-dev cloog.ppl

Redhat类系统: yum install cyrus-sasl*

步骤5 执行如下命令安装依赖包。

tar -xzvf libmemcached-x.y.z.tar.gz

cd libmemcached-x.y.z

./configure --enable-sasl

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 43

Page 48: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

make

make install

步骤6 新建build.sh文件,将如下代码复制到build.sh文件。

g++ -o dcs_sample dcs_sample.cpp -lmemcached -std=c++0x -lpthread -lsasl2

说明

编译如果报错找不到libmemcached.so.11文件,请用find命令找到此文件,并将其拷贝到/usr/lib目录下。

步骤7 新建dcs_sample.cpp文件,将如下C++代码复制到dcs_sample.cpp文件并修改代码。

l 密码模式代码示例

其中ip or domain name和port需要修改为步骤1获取的Memcached实例IP地址/域名和端口。userName和password需要修改为Memcached实例的用户名和密码。#include <iostream>#include <string>#include <libmemcached/memcached.h>using namespace std;

#define IP "ip or domain name"#define PORT port#define USERNAME "userName"#define PASSWORD "password"memcached_return rusult;

memcached_st * init(){ memcached_st *memcached = NULL; memcached_server_st *cache; memcached = memcached_create(NULL); cache = memcached_server_list_append(NULL, IP, PORT, &rusult);

sasl_client_init(NULL); memcached_set_sasl_auth_data(memcached, USERNAME, PASSWORD); memcached_behavior_set(memcached,MEMCACHED_BEHAVIOR_BINARY_PROTOCOL,1); memcached_server_push(memcached,cache); memcached_server_list_free(cache); return memcached;}

int main(int argc, char *argv[]){ memcached_st *memcached=init(); string key = "memcached"; string value = "hello world!"; size_t value_length = value.length(); int expire_time = 0; uint32_t flag = 0;

rusult = memcached_set(memcached,key.c_str(),key.length(),value.c_str(),value.length(),expire_time,flag); if (rusult != MEMCACHED_SUCCESS){ cout <<"set data failed: " << rusult << endl; return -1; } cout << "set succesed, key: " << key << ", value: " << value << endl; cout << "get key:" << key << endl; char* result = memcached_get(memcached,key.c_str(),key.length(),&value_length,&flag,&rusult); cout << "value:" << result << endl; memcached_free(memcached); return 0;}

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 44

Page 49: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

l 免密模式代码示例

其中ip or domain name和port需要修改为步骤1获取的Memcached实例IP地址/域名和端口。

#include <iostream>#include <string>#include <libmemcached/memcached.h>using namespace std;

#define IP "ip or domain name"#define PORT portmemcached_return rusult;

memcached_st * init(){ memcached_st *memcached = NULL; memcached_server_st *cache; memcached = memcached_create(NULL); cache = memcached_server_list_append(NULL, IP, PORT, &rusult); memcached_server_push(memcached,cache); memcached_server_list_free(cache); return memcached;}

int main(int argc, char *argv[]){ memcached_st *memcached=init(); string key = "memcached"; string value = "hello world!"; size_t value_length = value.length(); int expire_time = 0; uint32_t flag = 0;

rusult = memcached_set(memcached,key.c_str(),key.length(),value.c_str(),value.length(),expire_time,flag); if (rusult != MEMCACHED_SUCCESS){ cout <<"set data failed: " << rusult << endl; return -1; } cout << "set succesed, key: " << key << " ,value: " << value << endl; cout << "get key:" << key << endl; char* result = memcached_get(memcached,key.c_str(),key.length(),&value_length,&flag,&rusult); cout << "value:" << result << endl; memcached_free(memcached); return 0;}

步骤8 执行如下命令编译源码。

chmod 700 build.sh

./build.sh

生成dcs_sample二进制文件。

步骤9 执行如下命令连接使用Memcached实例。

./dcs_sampleset succesed, key: memcached ,value: hello world!get key:memcachedvalue:hello world!

----结束

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 45

Page 50: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

PHP 客户端

RedHat系列:

以CentOS7为例介绍PHP版本客户端的安装。Redhat、Fedora等系统也适用。

步骤1 安装gcc-c++及make等编译组件。

yum install gcc-c++ make

步骤2 安装sasl相关包。

yum install cyrus-sasl*

步骤3 安装libmemcached。

由于libmemcached库需要增加sasl认证参数,因此不能直接使用yum命令安装。

wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz

tar -xvf libmemcached-1.0.18.tar.gz

cd libmemcached-1.0.18

./configure --prefix=/usr/local/libmemcached --enable-sasl

make && make install

说明

安装libmemcached之前要完成gcc-c++、sasl相关组件的安装。否则会在编译过程中报错,报错问题解决后请执行make clean之后重新make。

步骤4 安装php。

yum install php-devel php-common php-cli

步骤5 安装memcached客户端。

注意运行configure配置安装时,增加开启sasl参数。

wget http://pecl.php.net/get/memcached-2.1.0.tgz

tar zxvf memcached-2.1.0.tgz

cd memcached-2.1.0

phpize

./configure --with-libmemcached-dir=/usr/local/libmemcached --enable-memcached-sasl

make && make install

步骤6 增加php.ini配置。

使用find或者locate命令找到php.ini文件。

find / -name php.ini

编辑该文件,增加以下两行:

extension=memcached.somemcached.use_sasl = 1

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 46

Page 51: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

步骤7 测试连接。

新增一个memcached.php文件,增加如下内容:

<?php $connect = new Memcached; //声明一个Memcached连接 $connect->setOption(Memcached::OPT_COMPRESSION, false); //关闭压缩 $connect->setOption(Memcached::OPT_BINARY_PROTOCOL, true); //使用二进制协议 $connect->setOption(Memcached::OPT_TCP_NODELAY, true); //关闭TCP网络延迟策略 $connect->addServer('{memcached_instance_ip}', 11211); //此处填写实例ip和端口 $connect->setSaslAuthData('{username}', '{password}'); //如果实例开启免密访问,则删除或者注释此行 $connect->set("DCS", "Come on!"); echo 'DCS: ',$connect->get("DCS"); echo "\n"; $connect->quit();?>

保存后运行情况如下:

[root@testphpmemcached ~]# php memcached.php DCS: Come on![root@testphpmemcached ~]#

----结束

debian系列

以Ubuntu为例,安装步骤如下:

步骤1 安装gcc及make等编译组件。

apt install gcc make

步骤2 安装php。

推荐使用php5.x的版本,对sasl认证兼容性较好。

按照如下步骤先添加php低版本的镜像源,然后安装php5.6以及php5.6-dev。

apt-get install -y language-pack-en-base;

LC_ALL=en_US.UTF-8;

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 47

Page 52: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

add-apt-repository ppa:ondrej/php;

apt-get update;

apt-get install php5.6 php5.6-dev;

安装完成后,使用php -version,查看版本号为5.6,说明安装成功。

root@dcs-nodelete:/etc/apt# php -versionPHP 5.6.36-1+ubuntu16.04.1+deb.sury.org+1 (cli) Copyright (c) 1997-2016 The PHP Group

说明

如果需要卸载php,可使用如下命令:

apt install aptitude -yaptitude purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`

步骤3 安装sasl组件。

apt install libsasl2-dev cloog.ppl

步骤4 安装libmemcached。

wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz

tar -xvf libmemcached-1.0.18.tar.gz

cd libmemcached-1.0.18

./configure --prefix=/usr/local/libmemcached

make && make install

说明

安装libmemcached之前要完成gcc、sasl相关组件的安装。否则会在编译过程中报错,报错问题解决后请执行make clean之后重新make。

步骤5 安装memcached客户端。

首先安装zlib组件。

apt install zlib1g.dev

安装注意运行configure配置安装时,增加开启sasl参数。

wget http://pecl.php.net/get/memcached-2.2.0.tgz;

tar zxvf memcached-2.2.0.tgz;

cd memcached-2.2.0;

phpize5.6;

./configure --with-libmemcached-dir=/usr/local/libmemcached --enable-memcached-sasl;

make && make install;

步骤6 增加pdo.ini配置。

使用find命令找到pdo.ini文件。

find / -name pdo.ini

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 48

Page 53: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

默认应该在/etc/php/5.6/mods-available路径下。编辑该文件,增加以下两行:

extension=memcached.somemcached.use_sasl = 1

步骤7 测试连接。

新增一个memcached.php文件,增加如下内容:

<?php $connect = new Memcached; //声明一个Memcached连接 $connect->setOption(Memcached::OPT_COMPRESSION, false); //关闭压缩 $connect->setOption(Memcached::OPT_BINARY_PROTOCOL, true); //使用二进制协议 $connect->setOption(Memcached::OPT_TCP_NODELAY, true); //关闭TCP网络延迟策略 $connect->addServer('{memcached_instance_ip}', 11211); //此处填写实例ip和端口 $connect->setSaslAuthData('{username}', '{password}'); //如果实例开启免密访问,则删除或者注释此行 $connect->set("DCS", "Come on!"); echo 'DCS: ',$connect->get("DCS"); echo "\n"; $connect->quit();?>

保存后运行情况如下:

[root@dcs-nodelete ~]# php memcached.php DCS: Come on![root@dcs-nodelete ~]#

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

2.3.10 连接 IMDG 实例

DCS IMDG提供基于GridGain的接口,第三方应用程序直接使用DCS IMDG即可实现对缓存数据的读、写、删除等操作。具体的接口请参见对应的接口参考文档,连接IMDG实例的方法请参见《分布式缓存服务开发指南》文档。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 49

Page 54: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

DCS IMDG SDK开发指南

2.3.11 通过 WebCli 连接 DCS2.0 Redis 实例

DCS支持通过管理控制台的WebCli功能连接DCS2.0 Redis实例。

只有DCS2.0 Redis实例支持该操作。

前提条件

只有当DCS2.0 Redis实例处于“运行中”状态,才能执行此操作。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”,然后单击“操作”栏下的“更多 > WebCli”,进入WebCli登录界面,如图2-2所示。

图 2-2 进入 WebCli 登录界面

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 50

Page 55: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

步骤5 输入DCS2.0 Redis实例的密码进入WebCli,然后选择当前操作的Redis数据库,在命令输入框输入Redis命令,按Enter键执行。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

2.4 查看缓存实例信息

本节介绍如何在DCS管理控制台查看DCS缓存实例的详细信息。

前提条件

已成功购买DCS缓存实例。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”,进入缓存实例信息页面。

步骤5 “缓存管理”支持通过筛选来查询对应的DCS缓存实例。当前支持的筛选条件为“状态”和“名称”。缓存实例状态请参见表2-5。

表 2-5 缓存实例状态说明

状态 说明

创建中 申请DCS缓存实例后,在DCS缓存实例状态进入运行中之前的状态。

运行中 DCS缓存实例正常运行状态。

在这个状态的实例可以运行您的业务。

故障 DCS缓存实例处于故障的状态。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 51

Page 56: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

状态 说明

启动中 DCS缓存实例从已关闭到运行中的中间状态。

重启中 DCS缓存实例正在进行重启操作。

正在关闭 DCS缓存实例从运行中到已关闭的中间状态。

已关闭 DCS缓存实例被正常停止。

在这个状态下的实例,不能对外提供业务。

已冻结 DCS缓存实例处于已冻结状态,用户可以在“我的订单”中续费开启冻结的DCS缓存实例。

扩容中 DCS缓存实例处于正在扩容的状态。

步骤6 在需要查看的DCS缓存实例左侧,单击该实例的名称,进入实例的基本信息页面。参数说明如表2-6所示。

表 2-6 参数说明

信息类型 参数 说明

基本信息 缓存名称 DCS缓存实例的名称。单击“缓存名称”后的 可以修改实例名称。

实例类型 DCS缓存实例类型,支持“单机”、“主备”和“集群”。

实例规格 DCS缓存实例规格。

内存 DCS缓存实例已经使用的内存量和用户可以使用的 大内存量。

已使用的内存量包括两部分:

l 用户存储的数据;

l Redis-server内部的buffer(如client buffer、repl-backlog等),以及内部的数据结构。

状态 DCS缓存实例状态,具体请参见表2-5。

时间窗运维操作时间。单击“时间窗”后的 可以修改时间窗。

ID DCS实例的ID。

计费方式 DCS缓存实例的计费方式,支持“包年/包月”和“按需付费”方式。

连接地址 DCS缓存实例的IP和端口号。

域名连接地址

DCS缓存实例的域名和端口号。

公网访问 公网访问的开关。

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 52

Page 57: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

信息类型 参数 说明

弹性IP地址 公网访问时实例绑定的弹性IP地址,只有当开启公网访问时才会显示该参数。

说明单击“证书下载”可下载证书,该证书可用于连接实例时验证DCS缓存实例的证书。

创建时间 DCS缓存实例的创建时间。

描述 DCS缓存实例的描述信息。单击“描述”后的 可以修改描述信息。

监控数据 单击“查看”可进入云监控服务页面查看DCS缓存实例的监控信息。

网络 可用分区 缓存节点所属的可用分区。

安全组 DCS缓存实例所关联的安全组。单击“安全组”后的

可以修改安全组。

私有网络 DCS缓存实例所在的私有网络。

子网 DCS缓存实例所属子网。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

分布式缓存服务用户指南 2 入门

文档版本 22 (2018-08-24) 53

Page 58: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

3 实例日常操作

3.1 开启缓存实例

3.2 关闭缓存实例

3.3 重启缓存实例

3.4 删除缓存实例

3.1 开启缓存实例

DCS管理控制台支持开启已关闭的DCS缓存实例,且可批量开启DCS缓存实例。

前提条件

只有当DCS缓存实例处于“已关闭”状态,才能执行此操作。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”。

步骤5 勾选“名称”栏下的相应缓存实例名称左侧的方框,可选一个或多个。

步骤6 单击信息栏左上侧的“开启”。

步骤7 单击“确定”,完成开启DCS缓存实例。

l 开启DCS缓存实例大约需要1到30分钟。

l DCS缓存实例开启成功后,实例状态从“已关闭”切换为“运行中”。

分布式缓存服务用户指南 3 实例日常操作

文档版本 22 (2018-08-24) 54

Page 59: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

说明

如果开启单个实例,也可以在需要开启的DCS缓存实例右侧,单击“操作”栏下的“开启”。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

3.2 关闭缓存实例

DCS管理控制台支持关闭已购买的DCS缓存实例,且可批量关闭DCS缓存实例。

警告

l DCS缓存实例关闭后,用户无法再对实例进行读写操作,其中单机实例中的数据将被删除。

l 在DCS缓存实例关闭过程中,如果有正在进行的备份操作,可能会关闭失败。

前提条件

只有当DCS缓存实例处于“运行中”状态,才能执行此操作。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”。

步骤5 勾选“名称”栏下的相应缓存实例名称左侧的方框,可选一个或多个。

步骤6 单击信息栏左上角的“关闭”。

分布式缓存服务用户指南 3 实例日常操作

文档版本 22 (2018-08-24) 55

Page 60: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

步骤7 单击“确定”,完成关闭DCS实例。

关闭DCS缓存实例大约需要1到30分钟。DCS缓存实例关闭成功后,实例状态从“运行中”切换为“已关闭”。

说明

如果关闭单个实例,也可以在需要关闭的DCS缓存实例右侧,单击“操作”栏下的“关闭”。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

3.3 重启缓存实例DCS管理控制台支持重启运行中的DCS缓存实例,且可批量重启DCS缓存实例。

警告

l 重启DCS缓存实例后,单机实例中原有的数据将被删除。

l 在重启DCS缓存实例过程中,用户无法对实例进行读写操作。

l 在重启DCS缓存实例过程中,如果有正在进行的备份操作,可能会重启失败。

前提条件

只有当DCS缓存实例处于“运行中”或“故障”状态,才能执行此操作。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”。

分布式缓存服务用户指南 3 实例日常操作

文档版本 22 (2018-08-24) 56

Page 61: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

步骤5 勾选“名称”栏下的相应DCS缓存实例名称左侧的方框,可选一个或多个。

步骤6 单击信息栏左上侧的“重启”。

步骤7 单击“确定”,完成重启DCS缓存实例。

重启DCS缓存实例大约需要1到30分钟。DCS缓存实例重启成功后,缓存实例状态切换为“运行中”。

说明

l 默认情况只会重启实例进程,若勾选“强制重启”将会重启实例所在虚拟机。

l 如果重启单个实例,也可以在需要重启的DCS缓存实例右侧,单击“操作”栏下的“更多 >重启”。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

3.4 删除缓存实例DCS管理控制台支持删除DCS缓存实例,且可批量删除DCS缓存实例、一键式删除创建失败的DCS缓存实例。

警告

DCS缓存实例删除后,实例中原有的数据将被删除,且没有备份,请谨慎操作。

前提条件

l DCS缓存实例已存在。

l DCS缓存实例状态为运行中、故障、已关闭时才能执行删除操作。

l 已商用的包年/包月类型的DCS缓存实例,不支持进行删除和批量删除操作。若不再使用,可单击“操作”栏下的“更多 > 退订”进行退订。

操作步骤

删除缓存实例

步骤1 登录管理控制台。

分布式缓存服务用户指南 3 实例日常操作

文档版本 22 (2018-08-24) 57

Page 62: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”。

步骤5 勾选“名称”栏下的需要删除的DCS缓存实例左侧的方框,可选一个或多个。

DCS缓存实例状态为创建中、启动中、停止中、重启中时不允许执行删除操作。

步骤6 单击信息栏左上侧的“删除”。

步骤7 单击“确定”,完成删除缓存实例。

删除DCS缓存实例大约需要1到30分钟。

说明

如果只需要删除单个DCS缓存实例,也可以在“缓存管理”界面,单击需要删除的DCS缓存实例右侧“操作”栏下的“更多 > 删除”。

----结束

删除创建失败的缓存实例

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”。

若当前存在创建失败的DCS缓存实例,界面信息栏会显示“创建失败任务”及失败数量信息。

步骤5 单击“创建失败任务”后的图标或者数量。

弹出“创建失败任务”界面。

步骤6 在“创建失败的实例”界面删除创建失败的DCS缓存实例。

l 单击“全部删除”按钮,一键式删除所有创建失败的DCS缓存实例。

l 单击需要删除的DCS缓存实例右侧的“删除”,依次删除创建失败的DCS缓存实例。

----结束

分布式缓存服务用户指南 3 实例日常操作

文档版本 22 (2018-08-24) 58

Page 64: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

4 实例配置管理

本节介绍用户对实例的管理操作。

说明

l 一般情况下,缓存实例的创建、配置运行参数、关闭、开启、重启、修改缓存实例密码、重置缓存实例密码、备份恢复、扩容等管理操作均不支持同时进行。即当实例正在进行其中一个操作时,如果用户执行其他操作,界面会提示缓存实例正在进行相应操作,请稍后进行重试操作。

l 在如下场景下,用户需要尽快执行后续的管理操作,以恢复用户业务,则支持同时进行:

在备份缓存实例过程中,支持停止、重启缓存实例,此时备份操作会强制中断,备份任务的执行结果可能为成功或者失败。

注意

当实例的部分节点出现故障时:

l 由于DCS服务的高可用性,用户可以正常读写实例,缓存实例状态仍然处于“运行中”。

l DCS服务内部会自动修复故障,或者由服务运维人员手工修复故障。

l 故障修复期间,管理域的部分操作暂不支持,包括修改配置参数、修改密码、重置密码、备份恢复、扩容等,用户可以等故障节点恢复之后进行重试操作或联系客服。

4.1 配置运行参数

4.2 修改缓存实例维护时间窗

4.3 修改缓存实例安全组

4.4 开启Redis实例的公网访问

4.5 管理实例后台任务

4.1 配置运行参数为了确保分布式缓存服务发挥出 优性能,您可以根据自己的业务情况对DCS缓存实例的运行参数进行调整。

分布式缓存服务用户指南 4 实例配置管理

文档版本 22 (2018-08-24) 60

Page 65: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

前提条件

l 只有Redis和Memcached实例支持修改配置参数,IMDG实例不支持。

l 只有单机和主备类型的处于“运行中”状态的DCS缓存实例支持修改配置参数,集群实例不支持修改配置参数。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”。

步骤5 在“缓存管理”页面,单击DCS缓存实例的名称。

步骤6 单击“配置参数”页签进入配置界面。

步骤7 单击“修改”。

步骤8 根据需要修改配置参数。

各参数的详细介绍见表4-1,一般情况下,按照系统默认值设置参数即可。

表 4-1 缓存实例配置参数说明

参数名 适用的缓存类型

参数解释 取值范围 默认值

timeout Redis、Memcached

客户端与服务端连接空闲超时断开时间,参数设为0表示连接永不断开。

0~7200,单位:秒。 0

maxmemory-policy

Redis、Memcached

内存使用达到上限时对缓存数据管理策略。

参数说明请参考https://redis.io/topics/lru-cache。

volatile-lruallkeys-lruvolatile-randomallkeys-randomvolatile-ttlnoeviction

noeviction

hash-max-ziplist-entries

Redis 当hash表中记录数少于参数值,使用ziplist编码格式,节约内存。

1~10000 512

hash-max-ziplist-value

Redis 当hash表中各字段长度的 大值小于参数值时,使用ziplist编码格式,节约内存。

1~10000 64

分布式缓存服务用户指南 4 实例配置管理

文档版本 22 (2018-08-24) 61

Page 66: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

参数名 适用的缓存类型

参数解释 取值范围 默认值

list-max-ziplist-entries

Redis 当列表中记录数少于参数值,使用ziplist编码格式,节约内存。

1~10000 512

list-max-ziplist-value

Redis 当列表中各字段长度的大值小于参数值时,

使用ziplist编码格式,节约内存。

1~10000 64

set-max-intset-entries

Redis 当一个集合仅包含字符串且整形元素数量少于参数值时,使用intset编码格式,节约内存。

1~10000 512

zset-max-ziplist-entries

Redis 当有序集合中记录数少于参数值,使用ziplist编码格式,节约内存。

1~10000 128

zset-max-ziplist-value

Redis 当有序集合中各字段长度的 大值小于参数值时,使用ziplist编码格式,节约内存。

1~10000 64

latency-monitor-threshold

Redis 延时监控的采样时间阈值( 小值)。

当阈值设置为0时,不做监控,也不采样;当阈值设置为大于0时,将监控并记录执行耗时大于阈值的操作。

用户可以通过LATENCY等命令获取统计数据和配置、执行采样监控。详情参考Redis官网说明:https://redis.io/topics/latency-monitor。

0~86400000,单位:毫秒。

0

分布式缓存服务用户指南 4 实例配置管理

文档版本 22 (2018-08-24) 62

Page 67: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

参数名 适用的缓存类型

参数解释 取值范围 默认值

reserved-memory

Redis 预留内存,主备实例才有此配置。

预留内存将被分配给实例所在虚拟机,保证DCS缓存实例后台进程在做持久化和主从同步等任务时拥有足够的内存。

预留内存大小可以调高或者调低,但不能超过实例当前剩余的可用内存,以及 大可用内存的50%。其中实例 大可用内存可参考《分布式缓存服务产品介绍》。

实例 大可用内存数的0-50%,同时不能超过实例当前剩余的可用内存,具体以界面提示为准,单位:MB。

0

分布式缓存服务用户指南 4 实例配置管理

文档版本 22 (2018-08-24) 63

Page 68: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

参数名 适用的缓存类型

参数解释 取值范围 默认值

notify-keyspace-events

Redis 键空间通知,配置该参数后客户端可以通过Redis的订阅与发布功能,来接收那些以某种方式改动了Redis数据集的事件。

配置为空字符串""时,不支持该功能。

可配置为以下字符的任意组合,指定了服务器该发送哪些类型的通知:

说明

l 有效值为[K|E|KE][A|g|l|s|h|z|x|e|$],即输入的参数中至少要有一个K或者E。

l A为“g$lshzxe”所有参数的集合别名。A与“g$lshzxe”中任意一个不能同时出现。

l 例如,如果只想订阅键空间中和列表相关的通知,那么参数就应该设为Kl。若将参数设为字符串"AKE"表示发送所有类型的通知。

K:键空间通知,所有通知以__keyspace@__为前缀。

E:键事件通知,所有通知以__keyevent@__为前缀。

g:DEL、EXPIRE、RENAME等类型无关的通用命令的通知。

$:字符串命令的通知。

l:列表命令的通知。

s:集合命令的通知。

h:哈希命令的通知。

z:有序集合命令的通知。

""

分布式缓存服务用户指南 4 实例配置管理

文档版本 22 (2018-08-24) 64

Page 69: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

参数名 适用的缓存类型

参数解释 取值范围 默认值

x:过期事件:每当有过期键被删除时发送。

e:驱逐(evict)事件:每当有键因为maxmemory政策而被删除时发送。

说明

表4-1中的内存优化相关参数可以参考Redis官网说明,链接:https://redis.io/topics/memory-optimization。latency-monitor-threshold参数一般在定位问题时使用。采集完latency信息,定位问题后,建议重新将latency-monitor-threshold设置为0,以免引起不必要的延迟。

步骤9 单击“保存”。

步骤10 在弹出的修改确认对话框中,单击“确定”,确认修改参数。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

4.2 修改缓存实例维护时间窗DCS缓存实例创建后,若需要修改实例维护时间窗,可进入管理控制台的实例基本信息页面进行修改。

前提条件

已成功创建DCS缓存实例。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

分布式缓存服务用户指南 4 实例配置管理

文档版本 22 (2018-08-24) 65

Page 70: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”。

步骤5 单击需要修改的DCS缓存实例名称。

步骤6 在打开的DCS缓存实例基本信息页面,单击“时间窗”后的 。

步骤7 下拉选择新的维护时间窗。单击 保存修改,单击 取消修改。

修改操作立即生效,可在实例对应的“概览”页面查看修改结果。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

4.3 修改缓存实例安全组

DCS缓存实例创建后,若需要修改实例安全组,可进入管理控制台的实例基本信息页面进行修改。

前提条件

已成功创建DCS缓存实例。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”。

分布式缓存服务用户指南 4 实例配置管理

文档版本 22 (2018-08-24) 66

Page 71: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

步骤5 单击需要修改的DCS缓存实例名称。

步骤6 在打开的DCS缓存实例基本信息页面,单击“安全组”后的 。

步骤7 下拉选择新的安全组。单击 保存修改,单击 取消修改。

说明

此处只能下拉选择已创建的安全组,若需要重新配置安全组,可参考如何选择和配置安全组。

修改操作立即生效,可在实例对应的“概览”页面查看修改结果。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

4.4 开启 Redis 实例的公网访问

用户需要通过公网地址访问Redis实例,可开启实例的公网访问功能。

说明

l 开启公网访问时,只能通过SSL方式来访问Redis实例,建议使用前先下载CA证书,并使用CA证书来验证DCS缓存实例的证书,以提高安全性。

l 主备或集群类型的Redis实例在因故障进行切换过程中,通过公网访问可能会失败,大约1分钟左右,请稍后再重试。

l 免密模式的Redis实例不支持开启公网访问功能。

l 开启Redis实例的公网访问后,可参考2.3.8 公网连接Redis实例连接实例。

l 公网访问与VPC内访问相比,可能存在网络丢包和抖动等情况,且访问时延有所增加,因此建议仅在业务开发测试阶段开启公网访问Redis实例。

前提条件

已成功创建密码模式的Redis实例,且该实例未开启公网访问功能。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

分布式缓存服务用户指南 4 实例配置管理

文档版本 22 (2018-08-24) 67

Page 72: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”。

步骤5 单击对应Redis实例的名称,进入该实例的基本信息页面。

步骤6 单击“公网访问”右侧的 ,打开公网访问开关。

步骤7 从“弹性IP地址”下拉列表中选择一个弹性IP,然后单击 ,开启公网访问功能。

开启公网访问功能大约需要1~2分钟,请耐心等待。

当前页面会自动跳转到“后台任务管理”页签,并显示当前任务的操作进度。任务状态为“Succeeded”,表示开启公网访问成功。

说明

l 如果“弹性IP地址”下拉列表有值,可单击“查看弹性IP”,系统跳转到虚拟私有云的弹性IP详情界面,可以查看弹性IP的详细信息。

l 如果“弹性IP地址”下拉列表没有值,可单击“创建弹性IP”,系统跳转到虚拟私有云的弹性IP创建界面,可以申请一个新的弹性IP。

l 选定的弹性IP地址如果已经被使用(例如,被其他DCS服务实例绑定,或被其他服务使用),会绑定失败。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

4.5 管理实例后台任务

对实例的一些操作,如扩容、修改密码、重置密码等,会启动一个后台任务,用户可以在DCS管理控制台的后台任务页,查看该操作的状态等信息,同时可通过删除操作,清理任务信息。

前提条件

l 只有Redis和Memcached实例支持后台任务管理页,IMDG类型的缓存实例不支持。

l 已成功申请DCS缓存实例。

分布式缓存服务用户指南 4 实例配置管理

文档版本 22 (2018-08-24) 68

Page 73: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”,进入实例信息页面。

“缓存管理”支持通过筛选来查询对应的缓存实例。当前支持的筛选条件为“状态”和“名称”。

步骤5 在需要查看的DCS缓存实例左侧,单击该实例的名称,进入该实例的基本信息页面。

步骤6 单击“后台任务管理”页签,进入后台任务管理页面。

界面显示任务列表。

步骤7 单击 ,选择“开始日期”和“结束日期”,单击“确认”,界面显示相应时间段内启动的任务。

l 单击 ,刷新任务状态。

l 单击“操作”栏下的“删除”,清理任务信息。

说明

用户只能在任务已经执行完成,即任务状态为成功或者失败时,才能执行删除操作。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

分布式缓存服务用户指南 4 实例配置管理

文档版本 22 (2018-08-24) 69

Page 74: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

5 缓存实例扩容

DCS管理控制台支持对DCS缓存实例扩容,用户可以根据实际需要,选择合适的实例规格。

注意

l 集群扩容之后,扩容前备份的文件不支持恢复操作。建议在扩容完成之后,尽快执行一次备份操作。

l 实例扩容大约需要5到30分钟,建议选择对业务交易影响较小的时间段进行扩容。

l 扩容期间主备和集群实例仍然支持数据读写,但单机实例不支持数据读写。

l DCS缓存实例扩容完成后,将按照新的实例规格进行计费。

前提条件

l 只有Redis和Memcached实例支持扩容操作,IMDG实例不支持。

l 只有当DCS缓存实例处于“运行中”状态,才能执行扩容操作。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”。

步骤5 在需要扩容的实例右侧,单击“操作”栏下的“更多 > 扩容”,进入到扩容操作页面。

步骤6 在扩容操作页面中,选择您需要扩容的目标规格。

分布式缓存服务用户指南 5 缓存实例扩容

文档版本 22 (2018-08-24) 70

Page 75: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

l 单机和主备实例支持的 大可扩容规格为64GB。

l 集群实例支持的 大可扩容规格为1024GB。

步骤7 单击“确定”,进入“规格确认”页面。

页面显示待扩容的DCS缓存实例名称、缓存版本和实例规格等信息。

步骤8 单击“提交订单”,开始扩容DCS缓存实例。

界面将会自动跳转到后台任务管理界面,用户可查看扩容任务的状态,具体可参考4.5管理实例后台任务。

DCS缓存实例扩容大约需要5到30分钟。实例扩容成功后,实例状态切换为“运行中”。

说明

l 当单机实例扩容失败时,实例对用户暂不可用,实例规格仍然为扩容前的规格,部分管理操作(如参数配置、扩容等)暂不支持,待后台完成扩容处理后,实例将自动恢复正常,实例规格将更新为扩容后的规格。

l 当主备和集群实例扩容失败时,实例对用户仍然可用,实例规格仍然为扩容前的规格,部分管理操作(如参数配置、备份恢复、扩容等)暂不支持,请按照扩容前的规格使用,避免因数据超过规格而被丢失。

l 当扩容成功时,用户可以按照新的规格使用DCS缓存实例。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

分布式缓存服务用户指南 5 缓存实例扩容

文档版本 22 (2018-08-24) 71

Page 76: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

6 缓存实例备份恢复管理

6.1 备份与恢复说明

6.2 设置备份策略

6.3 手动备份实例

6.4 实例恢复

6.1 备份与恢复说明介绍如何通过管理控制台对DCS缓存实例进行数据备份,以及备份数据恢复。

备份缓存数据的必要性

业务系统日常运行中可能出现一些小概率的异常事件,比如异常导致缓存实例出现大量脏数据,或者在实例出现故障后持久化文件不能重新加载。部分可靠性要求非常高的业务系统,除了要求缓存实例高可用,还要求缓存数据安全、可恢复,甚至永久保存。

DCS支持将当前时间点的实例缓存数据备份并存储到对象存储服务(OBS)中,以便在缓存实例发生异常后能够使用备份数据进行恢复,保障业务正常运行。

备份方式

DCS缓存实例支持定时和手动两种备份方式。

l 定时备份

用户可以通过管理控制台设置一个定时自动备份策略,在指定时间点将实例的缓存数据自动备份存储。

定时备份频率以天为单位,用户根据需要,选择每周备份一次或多次。备份数据保留 多7天,过期后系统自动删除。

定时备份主要目的在于让实例始终拥有一个完整的数据副本,在必要时可以及时恢复实例数据,保证业务稳定,实例数据安全多一重保障。

l 手动备份

除了定时备份,DCS还支持由用户手动发起备份请求,将实例当前缓存数据进行备份,并永久性存储到OBS服务中(用户可根据需要手动删除备份数据)。

分布式缓存服务用户指南 6 缓存实例备份恢复管理

文档版本 22 (2018-08-24) 72

Page 77: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

用户在执行业务系统维护、升级等高危操作前,可以先行备份实例缓存数据。

备份的其他说明

l 支持备份的实例类型

– 只有“主备”Redis实例支持数据备份与恢复功能,“单机”、“集群”和DCS2.0 Redis实例暂不支持。

– 只有“主备”Memcached实例支持数据备份与恢复功能,“单机”Memcached实例暂不支持。

– IMDG实例暂不支持备份恢复操作。

l 备份原理

实例采用Redis的AOF方式进行持久化。

备份任务在备节点执行,DCS通过将备节点的数据持久化文件压缩并转移到OBS服务中存储,从而实现实例数据备份。

DCS以小时为单位,定期检查所有实例的备份策略,对于需要执行备份的实例,启动备份任务。

l 备份过程对实例的影响

备份期间不影响实例正常对外提供服务。

在全量数据同步或者实例高负载的场景下,数据同步需要一定的时间,在数据同步没有完成的情况下开始备份,备份数据与主节点 新数据相比,有一定延迟。

由于备节点停止将发生的 新数据变化持久化到磁盘文件,备份期间主节点如有新的数据写入,备份文件也不会包含备份期间的数据变化。

l 备份时间点的选择

建议选择业务量少的时间段进行备份。

l 备份文件的存储与收费

备份文件存储在对象存储服务(OBS)中。

DCS不收取备份费用,仅OBS会根据存储空间占用和存储时长,按统一标准收取一定费用。

l 定时备份异常的处理

定时备份任务触发后,如果实例当前正在进行重启、扩容等操作,则定时任务顺延到下一时间段处理。

实例备份失败或者因为其他任务正在进行而推迟备份,DCS会在下一时间段继续尝试备份,一天 多会尝试三次。

l 备份数据保存期限

定时备份产生的备份文件根据用户设置的策略保留1-7天,超期由系统自动删除,但至少会保留一个数据备份文件。

手动备份的数据保存期限无限制,由用户根据需要自行删除。

关于数据恢复

l 数据恢复流程

a. 用户通过控制台发起数据恢复请求。

b. DCS从对象存储服务(OBS)获取数据备份文件。

c. 暂停实例数据读写服务。

d. 替换主实例的持久化文件。

分布式缓存服务用户指南 6 缓存实例备份恢复管理

文档版本 22 (2018-08-24) 73

Page 78: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

e. 重新加载新的持久化文件。

f. 完成数据恢复,对外提供数据读写服务。

l 数据恢复对业务系统的影响

实例数据恢复期间暂停数据读写服务,直到主实例完成数据恢复。

l 数据恢复异常处理

数据恢复文件如果被损坏,DCS在恢复过程中会尝试修复。修复成功则继续进行数据恢复,修复失败,DCS主备实例会将实例还原到执行恢复前的状态。

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

6.2 设置备份策略

本节介绍如何在DCS管理控制台设置自动备份策略。设置完成后,系统将根据备份策略定时备份实例数据。

如果不需要自动备份,可以修改备份策略设置,关闭自动备份。

前提条件

已成功申请主备DCS缓存实例。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”,进入实例信息页面。

“缓存管理”支持通过筛选来查询对应的缓存实例。当前支持的筛选条件为“状态”和“名称”。

步骤5 在需要查看的DCS缓存实例左侧,单击实例名称,进入实例的基本信息页面。

步骤6 单击“备份与恢复”页签,进入备份恢复管理页面。

分布式缓存服务用户指南 6 缓存实例备份恢复管理

文档版本 22 (2018-08-24) 74

Page 79: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

步骤7 单击“备份策略”,弹出备份策略设置窗口。

表 6-1 备份策略参数说明

参数 说明

自动备份 是否进行自动备份开关。

备份周期 自动备份频率。

可设置为每周的某一天或者某几天,按实际需要适当增加备份频率。

保存天数 备份数据保存期限。

保存天数可选1~7,超过期限后,备份数据将被永久删除,无法用来恢复实例。

开始时间 自动备份任务执行时间。时间格式:00:00~23:00间的任意整点时间。

每小时检查一次备份策略,如果符合备份策略设置的开始时间,则执行备份操作。

说明实例备份大约耗时5~30分钟,备份期间发生的数据新增或修改记录,将不会保存到备份数据中。为了尽量减少备份对业务的影响,备份开始时间建议设置在业务交易较少的时间段。

实例只有处于“运行中”状态时,系统才对其执行数据备份。

步骤8 打开“自动备份”开关,设置好备份参数,单击“确定”,完成备份策略设置。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

6.3 手动备份实例用户需要及时备份DCS缓存实例中的数据,可以通过手动备份功能完成实例数据备份。本节介绍如何在DCS管理控制台手动备份主备缓存实例的数据。

手动备份的实例数据默认永久保存,如需清理,请自行删除。

前提条件

已成功申请主备DCS缓存实例,且实例处于运行中状态。

分布式缓存服务用户指南 6 缓存实例备份恢复管理

文档版本 22 (2018-08-24) 75

Page 80: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”,进入DCS缓存实例信息页面。

“缓存管理”支持通过筛选来查询对应的DCS缓存实例。当前支持的筛选条件为“状态”和“名称”。

步骤5 在需要查看的DCS缓存实例左侧,单击实例名称,进入实例的基本信息页面。

步骤6 单击“备份与恢复”页签,进入备份与恢复管理页面。

步骤7 单击“手动备份”,弹出手动备份窗口。

步骤8 单击“确定”,开始执行手工备份任务。

备注说明 长不能超过128个字节。

说明

实例备份需耗时10~15分钟,备份期间发生的数据新增或修改记录,将不会保存到备份数据中。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

6.4 实例恢复

用户需要将已备份数据恢复到DCS缓存实例中。

前提条件

l 已成功申请主备DCS缓存实例,且实例处于运行中状态。

l 实例已有历史数据备份,且备份状态为succeed。

分布式缓存服务用户指南 6 缓存实例备份恢复管理

文档版本 22 (2018-08-24) 76

Page 81: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”,进入DCS缓存实例信息页面。

“缓存管理”支持通过筛选来查询对应的DCS缓存实例。当前支持的筛选条件为“状态”和“名称”。

步骤5 在需要查看的DCS缓存实例左侧,单击实例名称,进入实例的基本信息页面。

步骤6 单击“备份与恢复”页签,进入备份恢复管理页面。

页面下方显示历史备份数据列表。

步骤7 选择需要恢复的历史备份数据,单击右侧的“恢复”,弹出实例恢复窗口。

步骤8 单击“确定”,开始执行实例恢复任务。

备注说明 长不能超过128个字节。

您可以在“备份恢复记录”页签查询当前实例恢复任务执行结果。

说明

实例恢复需耗时5~30分钟。

恢复过程中,实例会有一段时间不能处理客户端的数据操作请求,当前数据将被删除,待恢复完成后存储原有备份数据。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

分布式缓存服务用户指南 6 缓存实例备份恢复管理

文档版本 22 (2018-08-24) 77

Page 82: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

7 密码管理

7.1 修改缓存实例密码

7.2 重置缓存实例密码

7.3 开启Redis实例的免密访问

7.4 开启Memcached实例的免密访问

7.1 修改缓存实例密码

DCS管理控制台支持修改DCS缓存实例的密码。

说明

l 只有Redis和Memcached实例支持修改密码操作,IMDG实例不支持。

l 免密访问模式的实例不支持修改密码操作。

l 只有处于“运行中”状态的DCS缓存实例支持修改密码。

前提条件

已成功创建DCS缓存实例。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”。

步骤5 在需要修改密码的DCS缓存实例右侧,单击“操作”栏下的“更多 > 修改密码”。

分布式缓存服务用户指南 7 密码管理

文档版本 22 (2018-08-24) 78

Page 83: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

步骤6 系统弹出修改密码对话框。输入“旧密码”、“新密码”和“确认密码”。

说明

修改DCS缓存实例密码时,如果重复5次输入错误的旧密码,该实例帐户将被锁定5分钟,锁定期间不允许修改密码。

密码必须满足以下复杂度要求:

l 密码不能为空,且新密码不能与旧密码相同

l 输入长度为6到32位的字符串。

l 必须包含如下四种字符中的两种组合:

– 小写字母

– 大写字母

– 数字

– 特殊字符包括(`~!@#$%^&*()-_=+\|[{}]:'",<.>/?)

步骤7 单击“确定”完成密码修改。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

7.2 重置缓存实例密码

用户忘记了DCS缓存实例密码时,可通过重置密码功能,重新设置一个密码,可使用新密码使用DCS缓存实例。

说明

l Redis实例支持通过重置密码功能将密码模式修改为免密模式,或者将免密模式修改为密码模式,具体请参考7.3 开启Redis实例的免密访问章节。

l 只有Redis和Memcached实例支持重置密码操作,IMDG实例不支持。

l 只有处于“运行中”状态的DCS缓存实例支持重置密码。

l 重置密码需要通过已登记的手机号码获取验证码,请确保已成功登记手机号码。

l 只有租户管理员帐户才能重置密码。

前提条件

已成功创建DCS缓存实例。

分布式缓存服务用户指南 7 密码管理

文档版本 22 (2018-08-24) 79

Page 84: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”。

步骤5 在需要重置密码的DCS缓存实例右侧,单击“操作”栏下的“更多 > 重置密码”

步骤6 系统弹出重置密码对话框。输入“新密码”和“确认密码”。

说明

密码必须满足以下复杂度要求:

l 密码不能为空。

l 输入长度为6到32位的字符串。

l 必须包含如下四种字符中的两种组合:

– 小写字母

– 大写字母

– 数字

– 特殊字符包括(`~!@#$%^&*()-_=+\|[{}]:'",<.>/?)

步骤7 单击“点击获取验证码”,输入验证码。单击“确定”完成密码重置。

l 重置密码成功,界面提示重置实例的密码成功。

l 重置密码失败,界面提示重置实例的密码失败,请重新尝试重置密码操作。

说明

l 若用户没有登记手机号码,需要先成功登记手机号码后再进行重置密码操作。

l 验证码有效期默认为10分钟,10分钟后请重新获取验证码。

l 只有所有节点都重置密码成功,系统才会提示重置密码成功,否则会提示重置失败。重置失败可能会造成实例重启,将缓存实例密码还原。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

分布式缓存服务用户指南 7 密码管理

文档版本 22 (2018-08-24) 80

Page 85: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

7.3 开启 Redis 实例的免密访问用户需要通过免密访问模式连接Redis实例,可通过开启Redis实例的免密访问功能,清空Redis实例的密码。

说明

l 只有处于“运行中”状态的Redis实例支持开启免密访问。

l 开启免密访问需要通过已登记的手机号码获取验证码,请确保已成功登记手机号码。

l 免密模式存在安全风险,之后您可以通过重置密码进行密码设置。

l 为保护Redis实例的网络安全性,开启公网访问的Redis实例不支持同时开启免密访问。

前提条件

已成功创建Redis实例,且实例未开启公网访问功能。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”。

步骤5 在需要开启免密访问的Redis实例右侧,单击“操作”栏下的“更多 > 重置密码”。

步骤6 系统弹出“重置密码”对话框,打开“免密访问”开关。

步骤7 单击“点击获取验证码”,输入验证码。单击“确定”完成免密访问设置。

免密访问设置成功,界面提示实例免密访问成功。

说明

l 若用户没有登记手机号码,需要先成功登记手机号码后再进行免密访问操作。

l 验证码有效期默认为10分钟,10分钟后请重新获取验证码。

----结束

分布式缓存服务用户指南 7 密码管理

文档版本 22 (2018-08-24) 81

Page 86: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

7.4 开启 Memcached 实例的免密访问

用户需要通过免用户名和密码访问模式连接Memcached实例,可通过开启Memcached实例的免密访问功能,清空Memcached实例的用户名和密码。

说明

l 只有处于“运行中”状态的Memcached实例支持开启免密访问。

l 开启免密访问需要通过已登记的手机号码获取验证码,请确保已成功登记手机号码。

l Memcached文本协议不支持用户名密码认证,若需要使用文本协议连接Memcached实例,必须开启实例的免密访问。

前提条件

已成功创建Memcached实例。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”。

步骤5 在需要开启免密访问的Memcached实例右侧,单击“操作”栏下的“更多 > 免密访问”。

步骤6 系统弹出“免密访问设置”对话框,打开“免密访问”开关。

步骤7 单击“点击获取验证码”,输入验证码。单击“确定”完成免密访问设置。

免密访问设置成功,界面提示实例免密访问成功。

分布式缓存服务用户指南 7 密码管理

文档版本 22 (2018-08-24) 82

Page 87: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

说明

l 若用户没有登记手机号码,需要先成功登记手机号码后再进行免密访问操作。

l 验证码有效期默认为10分钟,10分钟后请重新获取验证码。

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

分布式缓存服务用户指南 7 密码管理

文档版本 22 (2018-08-24) 83

Page 88: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

8 监控

云监控服务(CloudEye Service)是公有云提供的安全、可扩展的统一监控方案,通过云监控服务集中监控DCS的各种指标,基于云监控服务实现告警和事件通知。

8.1 支持的监控指标

8.2 设置告警规则

8.3 查看监控指标

8.1 支持的监控指标介绍云监控服务支持的DCS监控指标。

云监控服务对DCS的监控指标项见表8-1、表8-2、表8-3和表8-4。

表 8-1 分布式缓存服务 Redis 类型的缓存实例支持的监控指标

指标名称 含义 取值范围 测量对象

CPU利用率 该指标用于统计测量对象的CPU利用率,以百分比为单位。

0-100% 弹性云服务器

内存利用率 该指标用于统计测量对象的内存利用率,以百分比为单位。

0-100% 弹性云服务器

网络输入吞吐量

该指标用于统计网口平均每秒的输入流量,以字节/秒为单位。

>= 0字节/秒 弹性云服务器

网络输出吞吐量

该指标用于统计网口平均每秒的输出流量,以字节/秒为单位。

>= 0字节/秒 弹性云服务器

分布式缓存服务用户指南 8 监控

文档版本 22 (2018-08-24) 84

Page 89: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

指标名称 含义 取值范围 测量对象

活跃的客户端数量

该指标用于统计已连接的客户端数量,不包括来自从节点的连接,以个为单位。

包括DCS后台管理服务监控实例使用的客户端连接。

>=0个 分布式缓存服务

客户端 长输出列表

该指标用于统计客户端所有现存连接的 长输出列表,以个为单位。

>=0个 分布式缓存服务

客户端 大输入缓冲

该指标用于统计客户端所有现存连接的 大输入数据长度,以字节为单位。

>=0字节 分布式缓存服务

阻塞的客户端数量

该指标用于被阻塞操作挂起的客户端的数量。阻塞操作如BLPOP,BRPOP,BRPOPLPUSH,以个为单位。

>=0个 分布式缓存服务

已用内存 该指标用于统计Redis已使用的内存字节数,以字节单位。

>=0字节 分布式缓存服务

已用内存RSS 该指标用于统计Redis已使用的RSS内存。即实际驻留“在内存中”的内存数。包含和堆,但不包括换出的内存,以字节为单位。

>=0字节 分布式缓存服务

已用内存峰值 该指标用于统计Redis服务器启动以来使用内存的峰值,以字节为单位。

>=0字节 分布式缓存服务

Lua已用内存 该指标用于统计Lua引擎已使用的内存字节,以字节为单位。

>=0字节 分布式缓存服务

内存碎片率 该指标用于统计当前的内存碎片率。其数值上等于used_memory_rss /used_memory。

>=0 分布式缓存服务

总共收到的连接数

该指标用于统计Redis服务器启动以来总共收到的连接数,以个为单位。

包括DCS后台服务管理的监控连接数。

>=0个 分布式缓存服务

分布式缓存服务用户指南 8 监控

文档版本 22 (2018-08-24) 85

Page 90: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

指标名称 含义 取值范围 测量对象

总共处理的命令数

该指标用于统计Redis服务器启动以来总共处理的命令数。

包括DCS后台服务管理监控命令数。

>=0个 分布式缓存服务

每秒并发操作数

该指标用于统计每秒处理的命令数,以操作/秒为单位。

>=0操作/秒 分布式缓存服务

网络总共收到字节数

该指标用于统计Redis服务器启动以来总共收到的字节数,以字节为单位。

>=0字节 分布式缓存服务

网络总共发送字节数

该指标用于统计Redis服务器启动以来总共发送的字节数,以字节为单位。

>=0字节 分布式缓存服务

网络瞬时输入流量

该指标用于统计瞬时的输入流量,以千比特/秒为单位。

>=0千比特/秒

分布式缓存服务

网络瞬时输出流量

该指标用于统计瞬时的输出流量,以千比特/秒为单位。

>=0千比特/秒

分布式缓存服务

已拒绝的连接数

该指标用于统计Redis服务器启动以来总共因为超过maxclients而拒绝的连接数量,以个为单位。

>=0个 分布式缓存服务

全量同步次数 该指标用于统计Redis服务器启动以来总共完成的全量同步次数,以个为单位。

>=0个 分布式缓存服务

增量同步成功次数

该指标用于统计Redis服务器启动以来总共成功的增量同步次数,以个为单位。

>=0个 分布式缓存服务

增量同步出错次数

该指标用于统计Redis服务器启动以来总共出错的增量同步次数,以个为单位。

>=0个 分布式缓存服务

已过期的键数量

该指标用于统计Redis服务器启动以来总共过期的键数量,以个为单位。

>=0个 分布式缓存服务

已挤出的键数量

该指标用于统计Redis服务器启动以来总共因为内存不足被挤出的键数量,以个为单位。

>=0个 分布式缓存服务

Keyspace命中次数

该指标用于统计Redis服务器启动以来在主字典中总共的查找命中次数,以个为单位。

>=0个 分布式缓存服务

分布式缓存服务用户指南 8 监控

文档版本 22 (2018-08-24) 86

Page 91: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

指标名称 含义 取值范围 测量对象

Keyspace错过次数

该指标用于统计Redis服务器启动以来在主字典中总共的查找不命中次数,以个为单位。

>=0个 分布式缓存服务

Pubsub通道个数

该指标用于统计Pub/Sub通道个数,以个为单位。

>=0个 分布式缓存服务

Pubsub模式个数

该指标用于统计Pub/Sub模式个数,以个为单位。

>=0个 分布式缓存服务

AOF文件当前大小

该指标用于统计AOF文件当前大小,以字节为单位。

>=0个 分布式缓存服务

近Fork耗时 该指标用于统计 近Fork耗时,以毫秒为单位。

>=0毫秒 分布式缓存服务

表 8-2 分布式缓存服务 Memcached 类型的缓存实例支持的监控指标

指标名称 含义 取值范围 测量对象

CPU利用率 该指标用于统计测量对象的CPU利用率,以百分比为单位。

0-100% 弹性云服务器

内存利用率 该指标用于统计测量对象的内存利用率,以百分比为单位。

0-100% 弹性云服务器

网络输入吞吐量

该指标用于统计网口平均每秒的输入流量,以字节/秒为单位。

>= 0字节/秒 弹性云服务器

网络输出吞吐量

该指标用于统计网口平均每秒的输出流量,以字节/秒为单位。

>= 0字节/秒 弹性云服务器

活跃的客户端数量

该指标用于统计已连接的客户端数量,不包括来自从节点的连接,以个为单位。

包括DCS后台管理服务监控实例使用的客户端连接。

>=0个 分布式缓存服务

已用内存 该指标用于统计已使用的内存字节数,以字节为单位。

>=0字节 分布式缓存服务

已用内存RSS 该指标用于统计已使用的RSS内存。即实际驻留“在内存中”的内存数。包含和堆,但不包括换出的内存,以字节为单位。

>=0字节 分布式缓存服务

分布式缓存服务用户指南 8 监控

文档版本 22 (2018-08-24) 87

Page 92: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

指标名称 含义 取值范围 测量对象

已用内存峰值 该指标用于统计服务器启动以来使用内存的峰值,以字节为单位。

>=0字节 分布式缓存服务

内存碎片率 该指标用于统计当前的内存碎片率。其数值上等于used_memory_rss /used_memory。

>=0 分布式缓存服务

收到的连接数 该指标用于统计收到的连接数,以个为单位。

包括DCS后台服务管理的监控连接数。

>=0个 分布式缓存服务

处理的命令数 该指标用于统计处理的命令数。

包括DCS后台服务管理监控命令数。

>=0个 分布式缓存服务

每秒并发操作数

该指标用于统计每秒处理的命令数,以操作/秒为单位。

>=0操作/秒 分布式缓存服务

网络收到字节数

该指标用于统计收到的字节数,以字节为单位。

>=0字节 分布式缓存服务

网络发送字节数

该指标用于统计发送的字节数,以字节为单位。

>=0字节 分布式缓存服务

网络瞬时输入流量

该指标用于统计瞬时的输入流量,以千比特/秒为单位。

>=0千比特/秒

分布式缓存服务

网络瞬时输出流量

该指标用于统计瞬时的输出流量,以千比特/秒为单位。

>=0千比特/秒

分布式缓存服务

已拒绝的连接数

该指标用于统计因为超过maxclients而拒绝的连接数量,以个为单位。

>=0个 分布式缓存服务

全量同步次数 该指标用于统计主从服务器间数据全量同步次数,以个为单位。

>=0个 分布式缓存服务

增量同步成功次数

该指标用于统计主从服务器间数据增量同步成功次数,以个为单位。

>=0个 分布式缓存服务

增量同步出错次数

该指标用于统计主从服务器间数据增量同步失败次数,以个为单位。

>=0个 分布式缓存服务

已过期的键数量

该指标用于统计过期的键数量,以个为单位。

>=0个 分布式缓存服务

分布式缓存服务用户指南 8 监控

文档版本 22 (2018-08-24) 88

Page 93: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

指标名称 含义 取值范围 测量对象

已驱逐的键数量

该指标用于统计因为内存不足被删除的键数量,以个为单位。

>=0个 分布式缓存服务

AOF文件当前大小

该指标用于统计数据持久化文件当前大小,以字节为单位。

>=0个 分布式缓存服务

数据查询请求次数

该指标用于统计服务收到的数据查询请求次数

>=0个 分布式缓存服务

数据存储请求次数

该指标用于统计服务收到的数据存储请求次数

>=0个 分布式缓存服务

数据清空请求次数

该指标用于统计服务收到的数据清空请求次数

>=0个 分布式缓存服务

数据有效期修改请求次数

该指标用于统计服务收到的数据有效期修改请求次数

>=0个 分布式缓存服务

数据查询命中次数

该指标用于统计数据查询成功次数

>=0个 分布式缓存服务

数据查询未命中次数

该指标用于统计数据因键不存在而失败的查询次数

>=0个 分布式缓存服务

数据删除命中次数

该指标用于统计数据删除成功次数

>=0个 分布式缓存服务

数据删除未命中次数

该指标用于统计因键不存在而失败的数据删除次数

>=0个 分布式缓存服务

算数加命中次数

该指标用于统计算数加操作成功次数

>=0个 分布式缓存服务

算数加未命中次数

该指标用于统计因键不存在而失败的算数加操作次数

>=0个 分布式缓存服务

算数减命中次数

该指标用于统计算数减操作成功次数

>=0个 分布式缓存服务

算数减未命中次数

该指标用于统计因键不存在而失败的算数减操作次数

>=0个 分布式缓存服务

CAS命中次数 该指标用于统计CAS操作成功次数

>=0个 分布式缓存服务

CAS未命中次数

该指标用于统计因键不存在而失败的CAS操作次数

>=0个 分布式缓存服务

CAS数值不匹配次数

该指标用于统计因CAS值不匹配而失败的CAS次数

>=0个 分布式缓存服务

数据有效期修改命中次数

该指标用于统计数据有效期修改成功次数

>=0个 分布式缓存服务

分布式缓存服务用户指南 8 监控

文档版本 22 (2018-08-24) 89

Page 94: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

指标名称 含义 取值范围 测量对象

数据有效期修改未命中次数

该指标用于统计因键不存在而失败的数据有效期修改次数

>=0个 分布式缓存服务

认证请求次数 该指标用于统计认证请求次数

>=0个 分布式缓存服务

认证失败次数 该指标用于统计认证失败次数

>=0个 分布式缓存服务

存储的数据条目

该指标用于统计存储的数据条目

>=0个 分布式缓存服务

表 8-3 分布式缓存服务 DCS2.0 类型的缓存实例支持的监控指标

指标名称 含义 取值范围 测量对象

已用内存RSS 该指标用于统计Redis已使用的RSS内存。即实际驻留“在内存中”的内存数。包含和堆,但不包括换出的内存

>= 0字节 分布式缓存服务

数据集使用内存百分比

该指标用于统计Redis中数据集使用的内存所占总内存百分比

0-100% 分布式缓存服务

数据集使用内存

该指标用于统计Redis中数据集使用的内存

>= 0字节 分布式缓存服务

将过期键数目 该指标用于统计Redis缓存中将会过期失效的键数目

>=0个 分布式缓存服务

已用内存 该指标用于统计Redis已使用的内存字节数

>= 0字节 分布式缓存服务

缓存命中率 该指标用于统计Redis的缓存命中率

0-100% 分布式缓存服务

每秒并发操作数

该指标用于统计每秒处理的命令数

>= 0操作/秒 分布式缓存服务

Keyspace错过次数

该指标用于统计Redis服务器启动以来在主字典中总共的查找不命中次数

>= 0个 分布式缓存服务

缓存键总数 该指标用于统计Redis缓存中键总数

>=0个 分布式缓存服务

网络瞬时输入流量

该指标用于统计瞬时的输入流量

>=0千比特/秒

分布式缓存服务

网络瞬时输出流量

该指标用于统计瞬时的输出流量

>=0千比特/秒

分布式缓存服务

分布式缓存服务用户指南 8 监控

文档版本 22 (2018-08-24) 90

Page 95: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

指标名称 含义 取值范围 测量对象

内存碎片率 该指标用于统计当前的内存碎片率

>= 0 分布式缓存服务

Pubsub通道个数

该指标用于统计Pub/Sub通道个数

>= 0个 分布式缓存服务

Pubsub模式个数

该指标用于统计Pub/Sub模式个数

>= 0个 分布式缓存服务

活跃的客户端数量

该指标用于统计已连接的客户端数量,不包括来自从节点的连接

>= 0个 分布式缓存服务

已过期的键数量

该指标用于统计Redis服务器启动以来总共过期的键数量

>= 0个 分布式缓存服务

已挤出的键数量

该指标用于统计Redis服务器启动以来总共因为内存不足被挤出的键数量

>= 0个 分布式缓存服务

Lua已用内存 该指标用于统计Lua引擎已使用的内存字节

>= 0字节 分布式缓存服务

已用内存峰值 该指标用于统计Redis服务器启动以来使用内存的峰值

>= 0字节 分布式缓存服务

阻塞的客户端数量

该指标用于被阻塞操作挂起的客户端的数量

>= 0个 分布式缓存服务

表 8-4 分布式缓存服务 IMDG 类型的缓存实例支持的监控指标

指标名称 含义 取值范围 测量对象

CPU平均利用率

该指标用于统计测量对象的CPU平均利用率,以百分比为单位。

0-100% 分布式缓存服务

集群cpu数量 该指标用于统计实例可用于Java虚拟机的cpu数量

>=0个 分布式缓存服务

JVM堆内存 该指标用于统计为JVM使用而提交的堆内存的数量

>=0字节 分布式缓存服务

已使用堆内存 该指标用于统计用于对象分配的当前堆大小

>=0字节 分布式缓存服务

JVM非堆内存 该指标用于统计为JVM使用而提交的非堆内存数量

>=0字节 分布式缓存服务

已使用非堆内存

该指标用于统计JVM使用的当前非堆内存大小

>=0字节 分布式缓存服务

集群节点个数 该指标用于统计节点总数 >=0个 分布式缓存服务

分布式缓存服务用户指南 8 监控

文档版本 22 (2018-08-24) 91

Page 96: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC统一身份认证 IAM云监控 CES云审计 CTS

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

8.2 设置告警规则

通过设置DCS的告警规则,用户可自定义监控目标与通知策略,及时了解DCS服务的运行状况,从而起到预警作用。

设置DCS服务的告警规则包括设置告警规则名称、监控对象、监控指标、告警阈值、监控周期和是否发送通知等参数。

前提条件

已成功购买DCS缓存实例。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”,进入缓存实例信息页面。

步骤5 在需要查看的缓存实例左侧,单击该缓存实例的名称,进入该缓存实例的基本信息页面。

步骤6 在“概览”页签的“基本信息”区域,单击“监控数据”字段右侧的“查看”链接。

步骤7 在左侧导航树栏,选择“告警 > 告警规则”。

步骤8 在“告警规则”界面,单击“添加告警规则”,或者选择已有的告警规则进行修改,设置分布式缓存服务的告警规则。

更多关于分布式缓存服务监控规则的信息,请参见《云监控用户指南》。

----结束

分布式缓存服务用户指南 8 监控

文档版本 22 (2018-08-24) 92

Page 97: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC统一身份认证 IAM云监控 CES云审计 CTS

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

8.3 查看监控指标用户通过云监控服务集中监控DCS的各种指标。具体监控指标,请参考8.1 支持的监控指标。

前提条件

已成功购买DCS缓存实例。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”,进入缓存实例信息页面。

步骤5 在需要查看的缓存实例左侧,单击该缓存实例的名称,进入该缓存实例的基本信息页面。

步骤6 在“概览”页签的“基本信息”区域,单击“监控数据”字段右侧的“查看”链接。

步骤7 单击“操作”列的“查看监控图表”,查看监控数据。

----结束

分布式缓存服务用户指南 8 监控

文档版本 22 (2018-08-24) 93

Page 99: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

9 审计

DCS通过云审计服务(Cloud Trace Service,简称CTS)为您提供云服务资源的操作记录,记录内容包括您从公有云管理控制台或者开放API发起的的云服务资源操作请求以及每次请求的结果,供您查询、审计和回溯使用。

9.1 云审计服务支持的DCS操作列表

9.2 查看云审计日志

9.1 云审计服务支持的 DCS 操作列表介绍云审计服务支持的DCS操作列表。

表 9-1 云审计服务支持的 DCS 操作列表

操作名称 说明

createDCSInstance 创建DCS缓存实例

modifyDCSInstanceInfo 修改DCS缓存实例信息(包括缓存名称、描述、时间窗以及安全组)

deleteDCSInstance 删除DCS缓存实例

extendDCSInstance 扩容DCS缓存实例

modifyDCSInstanceConfig 修改DCS缓存实例的配置信息

modifyDCSInstancePassword 修改DCS缓存实例的密码

startDCSInstance、stopDCSInstance或restartDCSInstance

修改DCS缓存实例状态(启动、停止或重置DCS缓存实例)

分布式缓存服务用户指南 9 审计

文档版本 22 (2018-08-24) 95

Page 100: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC统一身份认证 IAM云监控 CES云审计 CTS

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

9.2 查看云审计日志

开启了云审计服务后,系统开始记录DCS资源的操作。云审计服务管理控制台保存近7天的操作记录。本节介绍如何在云审计服务管理控制台查看 近7天的操作记录。

操作步骤

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“管理与部署 > 云审计服务”,进入云审计服务信息页面。

步骤4 单击左侧导航树的“事件列表”,进入事件列表信息页面。

步骤5 事件列表支持通过筛选来查询对应的操作事件。当前事件列表支持四个维度的组合查询,详细信息如下:

l 事件来源、资源类型和筛选类型。

在下拉框中选择查询条件。其中,事件来源选择“DCS”。

其中筛选类型选择事件名称时,还需选择某个具体的事件名称。

选择资源ID时,还需选择或者手动输入某个具体的资源ID。

选择资源名称时,还需选择或手动输入某个具体的资源名称。

l 操作用户:在下拉框中选择某一具体的操作用户,此操作用户指用户级别,而非租户级别。

l 事件级别:可选项为“所有事件级别”、“normal”、“warning”、“incident”,只可选择其中一项。

l 起始时间、结束时间:可通过选择时间段查询操作事件。

步骤6 在需要查看的记录左侧,单击 展开该记录的详细信息,展开记录如图9-1所示。

分布式缓存服务用户指南 9 审计

文档版本 22 (2018-08-24) 96

Page 101: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

图 9-1 展开记录

步骤7 在需要查看的记录右侧,单击“查看事件”,弹出一个窗口,如图9-2所示,显示了该操作事件结构的详细信息。

图 9-2 查看事件

----结束

相关产品及文档

相关产品 相关文档

分布式缓存 Redis 小规格实例免费领取

分布式缓存 Memcached 开放公测

弹性云服务器 ECS虚拟私有云 VPC统一身份认证 IAM云监控 CES云审计 CTS

购买缓存实例

连接缓存实例

缓存实例扩容

缓存实例备份恢复

缓存实例数据迁移

分布式缓存服务用户指南 9 审计

文档版本 22 (2018-08-24) 97

Page 102: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

10 常见问题

10.1 概览

10.2 规格特性

10.3 网络连接与访问

10.4 客户端使用

10.5 配置管理

10.6 备份恢复和扩容

10.7 Memcahced配置和使用

10.8 IMDG配置和使用

10.1 概览

分布式缓存服务(Distributed Cache Service,简称DCS)常见问题的概览列表。您可以根据表10-1查找需要的内容。

表 10-1 文档概览

常见问题分类 相关链接

规格特性 10.2.1 Redis主备同步机制怎样?

10.2.2 DCS支持数据持久化吗?

10.2.3 Redis默认的数据逐出策略是什么?

10.2.4 为什么缓存实例创建后实际可用内存比申请规格小而且已使用内存不为0?

10.2.5 Redis实例是否支持多DB方式?

10.2.6 Redis集群实例是否支持原生集群?

10.2.7 为什么DCS缓存实例上报到云监控服务的监控数据中,有时会出现实例已使用内存略大于实例可使用内存的情况?

分布式缓存服务用户指南 10 常见问题

文档版本 22 (2018-08-24) 98

Page 103: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

常见问题分类 相关链接

10.2.8 Redis实例支持的单个Key和Value数据大小是否有限制?

10.2.9 使用Redis实例的发布订阅(pubsub)有哪些注意事项?

网络连接与访问

10.3.1 连接DCS必须使用密码吗?如何获取密码?

10.3.2 DCS支持公网访问吗?

10.3.3 为什么我的缓存实例偶尔会出现状态正常但实例不可用问题?

10.3.4 本地环境是否可以连接缓存实例

10.3.5 缓存实例是否支持跨VPC访问?

10.3.6 Redis命令执行是否有超时时间?超时了会出现什么结果?

客户端使用 10.4.1 DCS的Redis实例支持通用的Redis客户端(如Jedis)吗?

10.4.2 使用DCS,需要在弹性云服务器上安装Redis吗?

10.4.3 客户端连接DCS缓存实例超时后怎么办?

10.4.4 为什么我的DCS缓存实例支持域名访问后,客户端无法使用域名连接DCS缓存实例?

10.4.5 客户端连接DCS缓存实例是否有特殊要求?

10.4.6 使用Jedis连接池报错如何处理?

配置管理 10.5.1 DCS是否支持修改配置参数?

10.5.2 如何选择和配置安全组?

10.5.3 DCS如何配合Spring_Session做Session共享?

备份恢复和扩容

10.6.1 DCS缓存实例的数据被删除之后,能否找回?

10.6.2 为什么我的缓存实例不能备份和扩容?

Memcached配置和使用

10.7.1 DCS的Memcached与自建Memcached的区别是什么?

10.7.2 DCS的Memcached支持哪些数据结构?

10.7.3 DCS的Memcached过期数据清除策略是什么?

10.7.4 DCS的Memcached兼容的版本号是多少?

10.7.5 购买DCS的Memcached时如何选择可用分区?

10.7.6 DCS的Memcached如何修改密码?

IMDG配置和使用

10.8.1 什么场景下选择使用IMDG数据库?

10.8.2 IMDG是否支持不同的子网?

10.8.3 IMDG的内存是如何管理的?

10.8.4 IMDG是否支持Java堆内内存?

分布式缓存服务用户指南 10 常见问题

文档版本 22 (2018-08-24) 99

Page 104: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

常见问题分类 相关链接

10.8.5 IMDG客户端为何需要license?

10.8.6 IMDG客户端为何不支持CacheStoreAdapter?

10.2 规格特性DCS规格特性相关的常见问题列表。

10.2.1 Redis 主备同步机制怎样?

Redis主备实例即主从实例。一般情况下,Redis主节点的更新会自动复制到关联的备节点。但由于Redis异步复制的技术,备节点更新可能会落后于主节点。例如,主节点的I/O写入速度超过了备节点的同步速度,或者因异常原因导致的主节点和备节点的网络延迟,使得备节点与主节点存在滞后或者部分数据不一致,若此时进行主备切换,未及时完成同步的少量数据可能会丢失。

10.2.2 DCS 支持数据持久化吗?

1. 对于Redis类型的缓存实例:

– 单机:不支持。

– 主备和集群:支持。

2. 对于Memcached类型的缓存实例:

– 单机:不支持。

– 主备:支持。

3. 对于IMDG类型的缓存实例暂不支持数据持久化。

10.2.3 Redis 默认的数据逐出策略是什么?

逐出指将数据从缓存中删除,以腾出更多的存储空间容纳新的缓存数据。

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)较短的键,使得新添加的数据有空间存放。

分布式缓存服务用户指南 10 常见问题

文档版本 22 (2018-08-24) 100

Page 105: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

说明

当没有键满足回收前提条件时,数据逐出策略volatile-lru、volatile-random、volatile-ttl与noeviction策略相同,具体见上文noeviction介绍。

10.2.4 为什么缓存实例创建后实际可用内存比申请规格小而且已使用内存不为 0?

l Redis和Memcached类型的缓存实例,由于系统开销会占用部分资源,主备实例的持久化也需要一部分资源,所以实例创建后,实际可用内存小于申请规格。除了用户存储数据外,Redis-server内部的buffer以及内部数据结构会占用一部分内存。所以缓存实例创建后,实例已使用内存量不为0。

l IMDG类型的缓存实例,由于系统开销和IMDG实例程序运行都需要占用部分资源,所以实例创建后,实际可用内存小于申请的规格。

10.2.5 Redis 实例是否支持多 DB 方式?

Redis单机和主备实例支持多DB,默认16个,DB编号为0-15。

Redis集群实例不支持多DB。

10.2.6 Redis 集群实例是否支持原生集群?

不支持。DCS的Redis集群采用了proxy-based集群模式,不支持redis原生集群,所以用户查询到的原生集群的部分参数,DCS保持默认值,如“cluster_enabled:0”。

10.2.7 为什么 DCS 缓存实例上报到云监控服务的监控数据中,有时会出现实例已使用内存略大于实例可使用内存的情况?

DCS单机和主备实例已使用内存为redis-server进程统计的已使用内存。集群是基于分片机制实现的,集群的已使用内存为各个分片redis-server的已使用内存的总和。

由于开源redis-server内部机制的原因,有时会出现实例已使用内存略大于可使用内存的情况,此为正常现象。

10.2.8 Redis 实例支持的单个 Key 和 Value 数据大小是否有限制?

DCS没有专门限制单条数据大小,但请注意避免对大Value进行长时间高并发写入,这样会影响网络传输效率,从而导致请求时延较大,QPS下降。

10.2.9 使用 Redis 实例的发布订阅(pubsub)有哪些注意事项?

单机和主备类型的Redis实例支持发布订阅功能。使用发布订阅功能时有如下事项请注意:

l 客户端需要及时消费和处理消息。

客户端订阅了channel之后,如果接收消息不及时,可能导致DCS实例消息堆积,当达到消息堆积阈值(默认值为32MB),或者达到某种程度(默认8MB)一段时间(默认为1分钟)后,服务器端会自动断开该客户端连接,避免导致内部内存耗尽。

l 客户端需要支持重连。

当连接断开之后,客户端需要使用subscribe或者psubscribe重新进行订阅,否则无法继续接收消息。

分布式缓存服务用户指南 10 常见问题

文档版本 22 (2018-08-24) 101

Page 106: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

l 不建议用于消息可靠性要求高的场景中。

Redis的pubsub不是一种可靠的消息系统。当出现客户端连接退出,或者极端情况下服务端发生主备切换时,未消费的消息会被丢弃。

10.3 网络连接与访问

DCS网络连接与实例访问相关的常见问题列表。

10.3.1 连接 DCS 必须使用密码吗?如何获取密码?

l Redis实例支持密码模式和免密模式。Redis本身支持不设置密码,客户端可以直接连接Redis缓存服务并使用,但出于安全考虑,建议尽量选用密码模式,通过密码来鉴权验证,提升安全性。若选用密码模式,您需要在创建实例时自定义密码。

l Memcached实例支持密码模式和免密模式,用户可以根据自身应用特点选用支持文本和二进制协议的任何Memcached客户端。若选用密码模式,您需要在创建实例时自定义密码。

l IMDG实例必须使用密码,您需要在创建实例时自定义密码。

10.3.2 DCS 支持公网访问吗?

部分实例支持。

l 目前只有Redis密码模式的实例支持通过公网访问实例,但只能通过SSL方式来访问DCS缓存实例。建议使用前先下载CA证书,并使用CA证书来验证DCS缓存实例的证书,以确保缓存数据的安全。具体可参考公网连接Redis缓存实例。

l 其他类型的实例,暂不支持公网访问,您必须通过同一虚拟私有云下的弹性云服务器来访问缓存实例,以确保缓存数据的安全。如果您在应用开发调试阶段,可以通过ssh代理方式,实现本地环境访问实例。具体方法请参考10.3.4 本地环境是否可以连接缓存实例。

10.3.3 为什么我的缓存实例偶尔会出现状态正常但实例不可用问题?

可能为网络故障导致DCS缓存实例不可用,定位及解决方法如下。

步骤1 登录管理控制台。

步骤2 在管理控制台左上角单击 图标,选择区域和项目。

说明

此处请选择与租户的应用服务相同的区域。

步骤3 单击页面上方的“服务列表”,选择“数据库 > 分布式缓存服务”,进入分布式缓存服务信息页面。

步骤4 单击左侧菜单栏的“缓存管理”,进入DCS实例信息页面。

步骤5 在需要查看的DCS实例左侧,单击实例名称,进入实例的基本信息页面,单击“监控数据”后的“查看”进入云监控服务页面。

步骤6 查看DCS实例的监控信息。

l 若在某一时刻监控指标出现大幅度波动,则为网络故障导致,请联系环境管理员,待网络恢复后进行重试操作。

分布式缓存服务用户指南 10 常见问题

文档版本 22 (2018-08-24) 102

Page 107: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

l 若监控指标正常,则为其他原因导致,请联系技术支持。

----结束

10.3.4 本地环境是否可以连接缓存实例

l 未开启公网访问的DCS缓存实例,本地环境不能直接连接DCS缓存实例。公有云采用虚拟私有云(VPC)管理各服务的网络安全,用户创建的DCS缓存实例,只允许被与实例处于相同虚拟私有云的弹性云服务器访问。

用户可以通过网络代理转发的方式,用一台能与DCS缓存实例网络互通的弹性云服务器(ECS)做中转,实现本地环境连接DCS缓存实例,具体操作参考云下开发环境怎样连接DCS缓存实例进行调试。

l 已开启公网访问的缓存实例,可以通过本地环境连接DCS缓存实例。具体可参考公网连接Redis缓存实例。

10.3.5 缓存实例是否支持跨 VPC 访问?

对于未开启公网访问的实例,一般情况下,不同VPC间网络不互通,不在同一VPC下的弹性云服务器无法访问DCS缓存实例。

对于单机和主备类型的DCS缓存实例,可以通过创建VPC对等连接,将两个VPC的网络打通,实现跨VPC访问实例。

用户通过VPC对等访问DCS缓存实例时,除了满足VPC对等网跨VPC访问的约束之外,还存在如下约束:

l 当创建实例时使用了172.16.0.0/12~24网段时,客户端不能在192.168.1.0/24、192.168.2.0/24、192.168.3.0/24网段。

l 当创建实例时使用了192.168.0.0/16~24网段时,客户端不能在172.31.1.0/24、172.31.2.0/24、172.31.3.0/24网段。

l 当创建实例时使用了10.0.0.0/8~24网段时,客户端不能在172.31.1.0/24、172.31.2.0/24、172.31.3.0/24网段。

关于创建和使用VPC对等连接,请参考VPC对等连接说明。

注意

DCS Redis集群实例不支持跨VPC访问,比如不能通过建立VPC对等连接的方式,从一个VPC去访问另一个VPC的集群实例。

10.3.6 Redis 命令执行是否有超时时间?超时了会出现什么结果?

单个Redis命令处理时长限制为1分钟,目前超时时间暂不支持配置。命令处理超时,服务端将会自动断开与客户端的连接。

10.4 客户端使用

DCS客户端相关的常见问题列表。

分布式缓存服务用户指南 10 常见问题

文档版本 22 (2018-08-24) 103

Page 108: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

10.4.1 DCS 的 Redis 实例支持通用的 Redis 客户端(如 Jedis)吗?

支持。任何兼容Redis协议的客户端都可以访问分布式缓存服务。Redis客户端的下载,请参见http://redis.io/clients。

10.4.2 使用 DCS,需要在弹性云服务器上安装 Redis 吗?

不需要。您只需要通过相应的Redis客户端即可从弹性云服务器或者公网连接使用DCS缓存实例。

10.4.3 客户端连接 DCS 缓存实例超时后怎么办?

建议重新连接DCS缓存实例。

连接超时可能是网络原因,也有可能是服务器端其他因素引起,比如当客户端应用对DCS缓存实例超载或者DCS缓存实例发生了主备切换,会导致Redis客户端出现“Connection timed out”或者“Connection reset by peer”提示。

由于部分客户端不支持与DCS缓存实例的自动重连,因此建议用户在应用程序中增加重新建立连接的功能。

10.4.4 为什么我的 DCS 缓存实例支持域名访问后,客户端无法使用域名连接 DCS 缓存实例?

DCS缓存实例支持域名访问后,若客户端无法使用域名连接DCS缓存实例,需要将租户子网的DNS服务地址配置为内网域名服务器地址,具体配置方法请参考修改VPC子网的DNS服务器地址。

10.4.5 客户端连接 DCS 缓存实例是否有特殊要求?

因网络丢包等原因可能导致原有连接失效,客户端需要支持自动重连。

当实例高负载场景下,如大value字段的高并发写入,造成CPU、内存和磁盘IO负载偏高,DCS可能会拒绝一些新的连接请求,确保当前数据写入任务拥有足够的资源。因此客户端需要支持自动重连。

10.4.6 使用 Jedis 连接池报错如何处理?

在使用Jedis连接池JedisPool模式下,比较常见的报错如下:

redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool

首先确认DCS缓存实例是正常运行中状态,然后按以下步骤进行排查。

网络

1. 核对IP地址配置

检查jedis客户端配置的ip地址是否与DCS缓存实例配置的子网地址一致,如果从公网访问,则检查是否与DCS缓存实例绑定的弹性ip地址一致,不一致则修改一致后重试。

2. 测试网络

在客户端使用ping和Telnet小工具测试网络。

如果ping不通:

分布式缓存服务用户指南 10 常见问题

文档版本 22 (2018-08-24) 104

Page 109: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

– VPC内访问时,要求客户端与DCS缓存实例的VPC相同,安全组相同或者DCS缓存实例的安全组放开了6379端口访问。

– 公网访问时,要求DCS缓存实例安全组放开36379端口访问。

– 如果IP地址可以ping通,telnet对应的端口不通,则尝试重启实例,如重启后仍未恢复,请联系华为云技术支持。

检查连接数是否超限

查看已建立的网络连接数是否超过JedisPool 配置的上限。如果连接数接近配置的上限值,则建议重启服务观察。如果明显没有接近,排除连接数超限可能。

Unix/Linux系统使用:

netstat -an | grep 6379 | grep ESTABLISHED | wc -l

Windows系统使用:

netstat -an | find "6379" | find "ESTABLISHED" /C

检查 JedisPool 连接池代码

如果连接数接近配置的上限,请分析是业务并发原因,或是没有正确使用JedisPool所致。

对于JedisPool连接池的操作,每次调用jedisPool.getResource()方法之后,需要调用jedisPool.returnResource()或者jedis.close()进行释放,优先使用close()方法。

客户端 TIME_WAIT 是否过多

通过ss -s查看time wait链接是否过多。

如果TIME_WAIT过多,可以调整内核参数(/etc/sysctl.conf):

##当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击net.ipv4.tcp_syncookies = 1##允许将TIME-WAIT sockets重新用于新的TCP连接net.ipv4.tcp_tw_reuse = 1##开启TCP连接中TIME-WAIT sockets的快速回收net.ipv4.tcp_tw_recycle = 1##修改系統默认的TIMEOUT时间net.ipv4.tcp_fin_timeout = 30

调整后重启生效:/sbin/sysctl -p

无法解决问题

如果按照以上原因排查之后还有问题,可以通过抓包并将异常时间点、异常信息以及抓包文件发送给华为云技术支持协助分析。

分布式缓存服务用户指南 10 常见问题

文档版本 22 (2018-08-24) 105

Page 110: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

抓包可使用tcpdump工具,命令如下:

tcpdump -i eth0 tcp and port 6379 -n -nn -s 74 -w dump.pcap

Windows系统下还可以安装Wireshark工具抓包。

说明

公网访问时请将端口改成36379。

网卡名请改成实际的网卡名称。

10.5 配置管理

DCS缓存实例配置管理相关的常见问题列表。

10.5.1 DCS 是否支持修改配置参数?

处于“运行中”状态的Redis和Memcached实例支持修改配置参数,集群实例和IMDG实例暂不支持修改配置参数。

10.5.2 如何选择和配置安全组?

VPC 内访问 DCS 缓存实例

客户端只能部署在与DCS缓存实例处于相同虚拟私有云(VPC)和相同子网的弹性云服务器(ECS)上。

除了ECS、DCS缓存实例必须处于相同VPC和相同子网之外,还需要他们的安全组分别配置了正确的规则,客户端才能访问DCS缓存实例。

1. 建议ECS、DCS缓存实例配置相同的安全组。安全组创建后,默认包含组内网络访问不受限制的规则。

2. 如果配置了不同安全组,可参考如下配置方式:

说明

l 假设ECS、DCS缓存实例分别配置了安全组:sg-ECS、sg-DCS。

l 假设DCS缓存实例服务端口为6379。

l 以下规则,远端可使用安全组,也可以使用具体的IP地址。

ECS所在安全组需要增加如下规则,以保证客户端能正常访问DCS缓存实例。

DCS缓存实例所在安全组需要增加如下规则,以保证能被客户端访问。

分布式缓存服务用户指南 10 常见问题

文档版本 22 (2018-08-24) 106

Page 111: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

通过公网访问 DCS 缓存实例

DCS缓存实例安全组需要配置了正确的规则,客户端才能访问DCS缓存实例。

假设DCS缓存实例安全组为sg-DCS,则需要配置如下入方向规则中的其中一种规则:

1. 协议为TCP,端口为36379,源IP为0.0.0.0/0。2. 协议为Any,源IP为0.0.0.0/0。

具体如图10-1和图10-2所示。

图 10-1 安全组规则 1

分布式缓存服务用户指南 10 常见问题

文档版本 22 (2018-08-24) 107

Page 112: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

图 10-2 安全组规则 2

10.5.3 DCS 如何配合 Spring_Session 做 Session 共享?

DCS的Redis实例可以配合Spring_Session进行Session共享。出于安全考虑,DCS暂不支持客户端发起的CONFIG命令,因此需要按如下步骤进行操作:

1. 通过管理控制台修改Redis实例的配置参数notify-keyspace-event,将值指定为“Egx”。

2. 在Spring框架的XML配置文件中,增加如下:

<util:constantstatic-field="org.springframework.session.data.redis.config.ConfigureRedisAction.NO_OP"/>

3. 修改Spring相关代码,通过启用ConfigureRedisAction.NO_OP这个bean组件,禁止通过客户端调用CONFIG命令,避免报错。

@Beanpublic static ConfigureRedisAction configureRedisAction() {return ConfigureRedisAction.NO_OP;}

更多说明,可参考Spring官方文档。

10.5.4 创建实例时为什么无法查看子网和安全组等信息?

创建DCS缓存实例时,如果无法查看虚拟私有云、子网、安全组、弹性IP,可能原因是该用户无Server Administrator和VPC Administrator权限,增加权限的详细步骤请参考如何修改用户权限。

分布式缓存服务用户指南 10 常见问题

文档版本 22 (2018-08-24) 108

Page 113: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

10.6 备份恢复和扩容

DCS缓存实例备份、恢复以及扩容相关的常见问题列表。

10.6.1 DCS 缓存实例的数据被删除之后,能否找回?

DCS缓存实例自行删除或者通过Redis客户端发送命令手动删除的数据,不能找回。DCS的默认数据逐出策略为不逐出,但用户可以通过修改实例配置参数,自行调整策略,由实例根据逐出策略回收键值。

DCS缓存实例整个被删除后,实例数据也将丢失,不能找回。删除实例应当谨慎。

主备DCS缓存实例支持实例数据备份,如果实例有数据备份,则可以通过恢复实例完成数据找回。

10.6.2 为什么我的缓存实例不能备份和扩容?

l 只有主备类型的DCS缓存实例支持备份恢复操作,单机和集群实例不支持备份恢复操作。

l DCS缓存实例备份和扩容是DCS服务新推出的功能,如果您的实例创建时间非常早,由于实例版本没有升级而无法兼容一些新的功能,比如备份和扩容,请联系技术支持将缓存实例升级到 新版本,升级后就可以支持备份恢复和扩容功能。

10.7 Memcahced 配置和使用

DCS Memcached实例配置和使用相关的常见问题列表。

10.7.1 DCS 的 Memcached 与自建 Memcached 的区别是什么?

DCS的Memcached与本地自建Memcached的区别如下:

l 部署:DCS的Memcached简单易用,购买后缓存服务即时可用,实现快速部署,无需关心硬件及软件。自己搭建Memcached的操作和设置较复杂。

l 可用性:DCS的Memcached主备实例支持双机热备,能够持续提供稳定的服务,在主节点故障时,备节点秒级自动升级为主节点,避免单点故障。自建的Memcached服务需要自行实现高可用。

l 安全:DCS的Memcached采用公有云的VPC和安全组进行网络访问安全控制。自建的Memcached服务需要用户自行设计并实现安全机制。

l 扩容:DCS的Memcached支持在线扩容,在控制台简单操作,即可完成扩容。自建的Memcached服务的扩容稍复杂,需要自己添加硬件配置,重启服务。

10.7.2 DCS 的 Memcached 支持哪些数据结构?

DCS的Memcached目前仅支持Key-Value的数据结构,暂不支持List等数据结构。

10.7.3 DCS 的 Memcached 过期数据清除策略是什么?

DCS的Memcached作为缓存产品是允许用户根据业务需求设置在其中存放数据的过期时间的。例如在执行add操作的时候可以设置expire过期时间。

分布式缓存服务用户指南 10 常见问题

文档版本 22 (2018-08-24) 109

Page 114: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

DCS的Memcached默认策略为不逐出(noeviction)。当前版本支持在配置运行参数中修改逐出策略。

具体的6种数据逐出策略可参考10.2.3 Redis默认的数据逐出策略是什么?。

10.7.4 DCS 的 Memcached 兼容的版本号是多少?

DCS的Memcached兼容memcached 1.5.1版本。

10.7.5 购买 DCS 的 Memcached 时如何选择可用分区?

简单来说,只要是在同一地域(Region)内,选择任意一个可用分区内DCS的Memcached都没有功能上的本质区别。DCS可用分区的概念请参见这里。

一般来讲,同一可用分区比跨可用分区的网络时延更有优势,但是跨可用分区从容灾的角度比同可用分区更有优势。当应用内部需要更低的网络时延,可以将应用实例组部署在同一个可用分区中。

DCS的Memcached目前已支持跨可用分区部署,在管理控制台购买DCS的Memcached时进行配置。只要与您的ECS在同一个地域(Region)内,无论选择购买哪个可用分区的Memcached都可以实现与ECS正常的连通使用。若您希望获得更低的网络时延,请根据您ECS的可用分区选择购买对应可用分区的Memcached。

例如,您有一台华南-广州的ECS,其属于华南-广州可用分区B,那么当您在购买DCS的Memcached时,选择华南-广州任何一个可用分区的实例都是可以正常使用的。您选择华南-广州可用分区B的实例可以获得与这台ECS更低的网络时延。

注意:由于资源库存因素,可能出现您在购买DCS的Memcached时仅有一个可用分区资源供选择的情况,这不会影响您的正常使用。

10.7.6 DCS 的 Memcached 如何修改密码?

详情请参考修改缓存实例密码。

10.8 IMDG 配置和使用

DCS IMDG实例配置和使用相关的常见问题列表。

10.8.1 什么场景下选择使用 IMDG 数据库?

IMDG适合如下业务场景:

l 在使用高性能缓存存放数据的同时,支持SQL标准查询接口访问数据。

l 希望基于内存数据直接进行统计计算时,也适合选择IMDG。

分布式缓存服务用户指南 10 常见问题

文档版本 22 (2018-08-24) 110

Page 115: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

10.8.2 IMDG 是否支持不同的子网?

IMDG的客户端使用组播方式去发现集群,而组播发现不能跨不同的子网,目前客户端只能部署在与DCS缓存实例处于相同VPC及相同子网的弹性云服务器上。

10.8.3 IMDG 的内存是如何管理的?

IMDG默认使用RAM内存而不是Java堆内内存存放数据,同时基于Page页管理机制进行内存的高效管理,这样可以避免Java堆内存带来的GC对性能的影响,保证更加平滑的性能水平。具体可参考内存架构说明。

10.8.4 IMDG 是否支持 Java 堆内内存?

IMDG支持Java堆内内存,但不建议使用。当使用Java 堆内内存存放数据时,由于预留的内存很小,当数据较多时,会导致内存溢出问题,所以请直接使用默认的RAM内存机制,避免服务出现异常问题。

10.8.5 IMDG 客户端为何需要 license?IMDG基于Gridgain及Apache@Ignite,Gridgain提供的是成熟度比较高的商业软件,所以内置了客户端模式的license,并且没有任何限制。

10.8.6 IMDG 客户端为何不支持 CacheStoreAdapter?CacheStoreAdapter是Cache配置的一部分,继承CacheStoreAdapter的类要分布到每个集群节点里。IMDG实例创建好之后,DCS-Server节点的配置已经确定,所以无法支持CacheStoreAdapter。

分布式缓存服务用户指南 10 常见问题

文档版本 22 (2018-08-24) 111

Page 116: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

A 文档修订记录

表 A-1 文档修订记录

发布日期 修订记录

2018-08-24 第二十二次正式发布,包含以下内容变更:

l 优化2.3 连接缓存实例章节。

l 新增2.3.6 NodeJs Redis客户端连接Redis实例和2.3.7 C#Redis客户端连接Redis实例章节。

2018-07-23 第二十一次正式发布,包含以下内容变更:

l 2.3 连接缓存实例章节新增了php语言客户端(phpredis)、C语言客户端(hiredis)和Python客户端(redis-py)的连接示例。

l 新增2.3.11 通过WebCli连接DCS2.0 Redis实例章节。

2018-07-10 第二十次正式发布,包含以下内容变更:

l 优化了申请DCS2.0缓存实例章节的部分描述,具体可参考2.2.2 购买DCS2.0 Redis实例。

l 优化了部分描述。

2018-06-22 第十九次正式发布,包含以下内容变更:

l 优化了连接缓存实例章节的部分描述,具体可参考2.3连接缓存实例。

l 优化了部分描述。

2018-06-05 第十八次正式发布,包含以下内容变更:

l 修改连接Memcached缓存实例,具体可参考2.3.9 连接Memcached实例。

l 支持创建DCS2.0缓存实例。

l 支持创建“包年/包月”付费方式的Memcached类型缓存实例,具体可参考2.2.3 购买Memcached实例。

l 优化了部分描述。

分布式缓存服务用户指南 A 文档修订记录

文档版本 22 (2018-08-24) 112

Page 117: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

发布日期 修订记录

2018-05-22 第十七次正式发布,包含以下内容变更:

l 优化了2.3.8 公网连接Redis实例章节的部分描述。

l 2.3.9 连接Memcached实例新增PHP客户端连接示例。

2018-05-15 第十六次正式发布,包含以下内容变更:

支持以域名的方式访问Redis和Memcached缓存实例,具体可参考2.3.1 Redis-cli连接Redis实例和2.3.9 连接Memcached实例。

2018-04-19 第十五次正式发布,包含以下内容变更:

支持公网访问Redis缓存实例,访问方法参考2.3.8 公网连接Redis实例。

2018-03-28 第十四次正式发布,包含以下内容变更:

l 增加了分布式缓存服务IMDG类型的缓存实例支持的监控指标,具体可参考表8-4。

l 实例运行参数删除maxclients配置选项。

l 增加Redis实例的免密访问功能,具体可参考2.2.1 购买Redis实例和7.3 开启Redis实例的免密访问。

l 优化了部分描述,调整文档目录。

2018-02-02 第十三次正式发布,包含以下内容变更:

支持IMDG类型的缓存实例,增加了IMDG相关描述及常见问题。

2018-01-19 第十二次正式发布,包含以下内容变更:

l 增加了分布式缓存服务Memcached类型的缓存实例支持的监控指标,具体可参考表8-2。

l 优化了部分描述。

2017-12-18 第十一次正式发布,包含以下内容变更:

l 增加了重置密码功能,具体可参考7.2 重置缓存实例密码。

l 增加了实例后台任务管理功能,具体可参考4.5 管理实例后台任务。

l 增加了管理操作互斥的说明,具体可参考4 实例配置管理。

l 支持Memcached类型的缓存实例,增加了Memcached相关描述。

l 实例运行参数增加notify-keyspace-events配置选项。

2017-11-07 第十次正式发布,包含以下内容变更:

支持集群规格的缓存实例。

2017-09-28 第九次正式发布,包含以下内容变更:

增加了缓存数据迁移介绍。

分布式缓存服务用户指南 A 文档修订记录

文档版本 22 (2018-08-24) 113

Page 118: 用户指南 - developer-res-cbc-cn.obs.cn-north-1 ... · l 内存数据网格(In-memory Data Grids,简称IMDG)是一种Key-value键值存储的 内存数据库,为应用和不同的数据源之间提供高性能、基于分布式内存的数据组

发布日期 修订记录

2017-09-11 第八次正式发布,包含以下内容变更:

l 优化了部分描述。

l 增加入流量和出流量的限制说明。

2017-08-08 第七次正式发布,包含以下内容变更:

l 增加维护时间窗参数。

l 调整实例可用内存。

2017-07-14 第六次正式发布,包含以下内容变更:

修改缓存实例的密码规则,删除1GB规格的实例。

2017-06-30 第五次正式发布,包含以下内容变更:

l 增加实例扩容和备份恢复章节。

l 查看缓存信息章节增加缓存实例状态。

l 配置运行参数章节增加实例支持的 大客户端同时连接数量和预留内存参数。

2017-05-30 第四次正式发布,包含以下内容变更:

l 支持批量删除缓存实例

l 实例运行参数增加latency-monitor-threshold配置选项

2017-04-18 第三次正式发布,包含以下内容变更:

优化了部分描述,增加对接云监控服务的监控指标说明。

2017-03-08 第二次正式发布,包含以下内容变更:

优化了部分描述。

2016-08-20 第一次正式发布。

分布式缓存服务用户指南 A 文档修订记录

文档版本 22 (2018-08-24) 114