分布式缓存服务Redis是什么

分布式缓存服务Redis

分布式缓存服务Redis是华为云提供的一款内存数据库服务,为您提供即开即用、安全可靠、弹性扩容、便捷管理的在线分布式缓存能力,满足用户高并发及数据快速访问的业务诉求。

为什么选择分布式缓存服务

即开即用

分布式缓存服务DCS提供单机、主备、Proxy集群、Cluster集群、读写分离类型的缓存实例,拥有从128M到1024G的丰富内存规格。您可以通过控制台直接创建,无需单独准备服务器资源。

其中Redis 4.0、Redis 5.0和Redis 6.0版本采用容器化部署,秒级完成创建。

安全可靠

借助华为云统一身份认证、虚拟私有云、云监控与云审计等安全管理服务,全方位保护实例数据的存储与访问。

灵活的容灾策略,主备/集群实例从单AZ(可用区)内部署,到支持跨AZ部署。

弹性伸缩

分布式缓存服务DCS提供对实例内存规格的在线扩容与缩容服务,帮助您实现基于实际业务量的成本控制,达到按需使用的目标。

便捷管理

分布式缓存服务DCS可视化Web管理界面,在线完成实例重启、参数修改、数据备份恢复等操作。分布式缓存服务DCS还提供基于RESTful的管理API,方便您进一步实现实例自动化管理。

在线迁移

分布式缓存服务DCS提供可视化Web界面迁移功能,支持备份文件导入和在线迁移两种方式,您可以通过控制台直接创建迁移任务,提高迁移效率。

分布式缓存服务Redis灵活实例配置

实例配置
说明

实例类型

提供单机、主备、Proxy集群、Cluster集群、读写分离类型,分别适配不同的业务场景。

单机:适用于应用对可靠性要求不高、仅需要缓存临时数据的业务场景。单机实例支持读写高并发,但不做持久化,实例重启后原有缓存数据不会加载。

主备:包含一个主节点,一个或多个备节点,主备节点的数据通过实时复制保持一致,当主节点故障后,备节点自动升级为主节点。同时用户可通过读写分离技术,在主节点上写,从备节点读,从而提升缓存的整体读写性能。

Proxy集群:在Cluster集群的基础上,增加挂载Proxy节点和ELB节点,通过ELB节点实现负载均衡,将不同请求分发到Proxy节点,实现客户端高并发请求。每个Cluster集群分片是一个双副本的主备实例,当主节点故障后,同一分片中的备节点会升级为主节点来继续提供服务。

Cluster集群:通过分片化分区来增加缓存的容量和并发连接数,每个分片是一个主节点和0到多个备节点,分片本身对外不可见。分片中主节点故障后,同一分片中备节点会升级为主节点来继续提供服务。用户可通过读写分离技术,在主节点上写,从备节点读,从而提升缓存的整体读写能力。

读写分离:在主备实例的基础上,增加挂载Proxy节点和ELB节点,通过ELB节点实现负载均衡,将不同请求分发到Proxy节点,Proxy节点识别用户读写请求,将请求发送到主节点或备节点,从而实现读写分离。

规格

分布式缓存服务Redis提供128MB~1024G的多种规格。

兼容开源Redis版本

分布式缓存服务提供不同的实例版本,分别兼容开源Redis的3.0、4.0、5.0、6.0。

底层架构

基于虚拟机的标准版,单节点QPS达10万/秒。

高可用与容灾

除单机实例外,其他类型的实例都提供Region内的跨可用区部署,实现实例内部节点间的电力、网络层面物理隔离。

分布式缓存服务的基本概念

  • 缓存实例

    缓存实例拥有Redis、Memcached两种存储引擎,每种引擎有单机、主备、集群等不同实例类型。不同实例类型含有多种规格。

    缓存实例拥有Redis、Memcached两种存储引擎,每种引擎有单机、主备、集群等不同实例类型。不同实例类型含有多种规格。

  • 项目

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

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

  • 公网访问

    针对Redis 3.0实例,可以为其绑定一个弹性公网IP地址,客户端通过公网ip进行访问。Redis 4.0、Redis 5.0和Redis 6.0实例暂时不支持公网访问功能。

    公网访问使用Stunnel工具对通信内容加密,网络延时比VPC内通信略高,适用于开发阶段联调本地环境测试。

    针对Redis 3.0实例,可以为其绑定一个弹性公网IP地址,客户端通过公网ip进行访问。Redis 4.0、Redis 5.0和Redis 6.0实例暂时不支持公网访问功能。

    公网访问使用Stunnel工具对通信内容加密,网络延时比VPC内通信略高,适用于开发阶段联调本地环境测试。

  • 免密访问

    分布式缓存服务有Redis和Memcached两种引擎,可以不设置密码,在VPC内直接连接实例进行数据读写。由于不涉及密码鉴权,数据读写延时会更低。

    对于实例数据敏感性一般的业务,您可以对实例开启免密访问。出于数据安全考虑,开通公网访问的实例不允许同时开启免密访问。

    分布式缓存服务有Redis和Memcached两种引擎,可以不设置密码,在VPC内直接连接实例进行数据读写。由于不涉及密码鉴权,数据读写延时会更低。

    对于实例数据敏感性一般的业务,您可以对实例开启免密访问。出于数据安全考虑,开通公网访问的实例不允许同时开启免密访问。

  • 维护时间窗

    指允许分布式缓存服务DCS产品服务团队为实例进行升级维护的时间段。

    分布式缓存服务DCS对实例升级维护频率较低,一般每季度一次。虽然频率低,且升级过程不会影响业务,但建议您选择业务量较少的时间段作为维护时间窗。

    在创建实例时,都会要求设置一个维护时间窗,您也可以在实例创建后,对维护时间窗进行修改。

    指允许分布式缓存服务DCS产品服务团队为实例进行升级维护的时间段。

    分布式缓存服务DCS对实例升级维护频率较低,一般每季度一次。虽然频率低,且升级过程不会影响业务,但建议您选择业务量较少的时间段作为维护时间窗。

    在创建实例时,都会要求设置一个维护时间窗,您也可以在实例创建后,对维护时间窗进行修改。

  • 分片

    分片也叫条带,指Redis集群的一个管理组,对应一个redis-server进程。一个Redis集群由若干条带组成,每个条带负责若干个slot(槽),数据分布式存储在slot中。Redis集群通过条带化分区,实现超大容量存储以及并发连接数提升。

    每个集群实例由多个分片组成,每个分片默认为一个双副本的主备实例。分片数等于实例中主节点的个数。

    分片也叫条带,指Redis集群的一个管理组,对应一个redis-server进程。一个Redis集群由若干条带组成,每个条带负责若干个slot(槽),数据分布式存储在slot中。Redis集群通过条带化分区,实现超大容量存储以及并发连接数提升。

    每个集群实例由多个分片组成,每个分片默认为一个双副本的主备实例。分片数等于实例中主节点的个数。

  • 跨可用区部署

    将主备实例部署在不同的AZ(可用区域)内,节点间电力与网络均物理隔离。您可以将应用程序也进行跨AZ部署,从而达到数据与应用全部高可用。

    在创建Redis或者Memcached主备实例时,可以勾选“跨可用区部署”,然后为备节点选择可用区。

    将主备实例部署在不同的AZ(可用区域)内,节点间电力与网络均物理隔离。您可以将应用程序也进行跨AZ部署,从而达到数据与应用全部高可用。

    在创建Redis或者Memcached主备实例时,可以勾选“跨可用区部署”,然后为备节点选择可用区。

  • 副本

    副本指缓存实例的节点。单副本表示实例没有备节点,双副本表示实例有备节点(一个主节点,一个备节点)。例如主备实例默认为双副本,当主备实例的副本数设置为3时,表示该实例有1个主节点,2个备节点。单机实例,只有一个节点。

    副本指缓存实例的节点。单副本表示实例没有备节点,双副本表示实例有备节点(一个主节点,一个备节点)。例如主备实例默认为双副本,当主备实例的副本数设置为3时,表示该实例有1个主节点,2个备节点。单机实例,只有一个节点。

分布式缓存服务Reids有哪些典型应用场景

很多大型电商网站、视频直播和游戏应用等,存在大规模数据访问,对数据查询效率要求高,且数据结构简单,不涉及太多关联查询。这种场景使用分布式缓存服务Redis,在速度上对传统磁盘数据库有很大优势,能够有效减少数据库磁盘IO,提高数据查询效率,减轻管理维护工作量,降低数据库存储成本。分布式缓存服务Redis对传统磁盘数据库是一个重要的补充,成为了互联网应用,尤其是支持高并发访问的互联网应用必不可少的基础服务之一。

(电商网站)秒杀抢购

电商网站的商品类目、推荐系统以及秒杀抢购活动,适宜使用分布式缓存服务Redis。

例如秒杀抢购活动,并发高,对于传统关系型数据库来说访问压力大,需要较高的硬件配置(如磁盘IO)支撑。Redis数据库,单节点QPS支撑能达到10万,轻松应对秒杀并发。实现秒杀和数据加锁的命令简单,使用SET、GET、DEL、RPUSH等命令即可。

(视频直播)消息弹幕

直播间的在线用户列表,礼物排行榜,弹幕消息等信息,都适合使用Redis中的SortedSet结构进行存储。

例如弹幕消息,可使用ZREVRANGEBYSCORE排序返回,在分布式缓存服务Redis 5.0中,新增了zpopmax,zpopmin命令,更加方便消息处理。

(游戏应用)游戏排行榜

在线游戏一般涉及排行榜实时展现,比如列出当前得分最高的10个用户。使用分布式缓存服务Redis的有序集合存储用户排行榜非常合适,有序集合使用非常简单,提供多达20个操作集合的命令。

(社交APP)返回最新评论/回复

在web类应用中,常有“最新评论”之类的查询,如果使用关系型数据库,往往涉及到按评论时间逆排序,随着评论越来越多,排序效率越来越低,且并发频繁。

使用分布式缓存服务Redis的List(链表),例如存储最新1000条评论,当请求的评论数在这个范围,就不需要访问磁盘数据库,直接从缓存中返回,减少数据库压力的同时,提升APP的响应速度。

分布式缓存服务教程视频

分布式缓存服务 DCS

04:53

分布式缓存服务 DCS

分布式缓存服务 DCS

03:40

分布式缓存服务 DCS

分布式缓存服务 DCS

02:27

分布式缓存服务 DCS

1对1咨询专属顾问

1对1免费咨询华为云专属顾问,为您量身定制产品推荐方案
立即咨询

华为云咨询电话:950808或4000-955-988 转1

华为云咨询电话:950808或4000-955-988 转1

华为云专业的服务团队,致力于为您提供专业的售前购买咨询服务,及完善的售后技术服务,助您云上无忧