课时1:Redis(Tair) 产品介绍

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 课时1:Redis(Tair) 产品介绍

Redis入门训练营:课时1:Redis(Tair) 产品介绍

课程地址:https://developer.aliyun.com/trainingcamp/5fd706c381604c09bebaf774a6290c5a?spm=a2cwt.28190922.J_8357884230.1.1e817127ycWQyx


Redis(Tair) 产品介绍

 

内容介绍

一、 Redis是什么

二、 Redis的常见用法

三、 Cache用法

四、 开源Redis特点

五、 阿里云Tair发展历史
六、 Redis主要架构

一、Redis是什么

 

image.png

随着互联网的高速发展,访问量的提升,原来关系型数据库出现了性能瓶颈,也渐渐开始投入对高并发,低延迟基于内存的数据库研究,memcache由于设计过于简单,没有很好的应对市场需求和竞争已经基本退出舞台,而Redis具备成熟的开源社区,易于使用,拥有丰富的数据结构,可以轻松应对各种应用场景,Redis是目前最受欢迎的数据库之一。

 

image.png

 

近些年,各行各业访问流量不断增长,而Redis具有高性能,可扩展性强的特点,完美的契合了高增长的业务需求,因此Redis迅速在各行各业应用起来,Redis目前主要的应用场景是缓存,对应用起到加速的作用,有数据库,有数据访问的地方就有加速的需求,因此就有对Redis和跳的需求。

 

二、Redis 的常见用法

Redis的常见用法包括两种主要架构方式。首先,一种是在应用程序中加入缓存(cache)并支持持久化存储。这使得Redis可以作为通用的性能提升工具,为后端处理流量和加速业务提供了支持。

另一种常见用法是在两个应用程序之间引入Redis缓存架构,这种架构的主要目标是解决被调用应用程序的计算负担瓶颈,同时也可以用来存储中间结果以供后续访问。

image.png

 

随着缓存技术的进一步发展,我们也看到Redis正在演化成内存数据库,传统的三层架构中的应用程序与数据库的交互可以简化为应用程序与内存数据库的交互,数据可以直接存储在内存数据库中,从而实现更高效、更便捷的业务操作。

在大数据计算领域,Redis还可用于将大数据计算结果导入内存数据库,以供在线应用调用,这在各种大数据场景中非常有用,包括广告推荐和人群分类等,这些应用方式充分发挥了Redis的高性能和灵活性,为各种应用场景提供了强大的支持。

 

三、Cache 用法

image.png

 

首先,第一种缓存模式通常在互联网行业广泛使用。在这种模式下,需要应用程序自行管理缓存,它在访问数据库之前会先检查缓存中是否存在相应数据,如果没有找到缓存,那么在数据库更新后会再次更新缓存,这是一种控制逻辑完全实现在应用程序内部的模式,缓存并不直接与数据库进行互动。

第二种是订阅模式,这在互联网行业中被广泛采用。应用程序会将数据写入数据库,并通过某个订阅通道监听数据库的数据更新。一旦有数据更新,它会被同步到缓存中,这样应用程序读取数据时可以直接从缓存中获取,"Ro"和"Rw"是缓存系统中常见的数据同步机制应用方式之一。

"Ro" 模式是只读模式,它首先检查缓存中是否存在所需数据,如果有,直接使用,如果没有,则从数据库中加载数据并放入缓存,以便下次访问可以直接从缓存中获取。

"Rw" 模式是读写模式,在数据更新时同时将数据写入缓存和后端数据库,以确保缓存与数据库的数据保持一致。

"Db right回写" 模式是在数据更新时只写入缓存。通常会有一个后台程序来检查缓存中的数据变化,然后异步地将数据写回后端数据库,这种模式的优点是数据写入速度很快,因为不需要写入后端持久性存储,然而,缺点是一旦更新后的数据没有被写入到后端数据库(例如,断电等情况),就可能导致缓存和后端数据库中的数据不一致。

总的来说,开源的Redis非常适合这些应用场景,因为它使用简单,不像搜狗等复杂的查询语言。

 

四、开源 Redis 特点

 

image.png

 

首先,Redis是一个纯内存的数据库,因此具有高性能。它提供了多种数据结构,如字符串、列表、哈希表、有序集合等,使开发人员可以根据业务需要选择适合的数据结构。

Redis还具备强大的可扩展性,支持分布式部署,集群模式可以轻松扩展存储容量。

然而,当业务规模扩大时,开源的Redis也可能面临一些问题。例如,在大容量下维护可能会变得非常复杂,维护成本会急剧上升。此外,如果基础设施不完善,可能会导致Redis排查问题变得困难,还存在一些安全性方面的缺陷。

阿里云Redis在开源Redis的基础上进行了更多的开发工作,以解决这些问题。

image.png

 

例如,在可管理性方面,阿里云提供了开箱即用的Redis实例,支持秒级监控、自动备份、封恢复、缓存分析和日志审计等能力。在可扩展性方面,支持灵活的规格变配,跨架构变配能力,以及无缝升降配,确保业务不受影响,在稳定性方面,提供了数十种监控指标和告警规则配置,以及一键诊断的能力,在安全性方面,提供了多种安全策略,包括访问控制、白名单、安全组等。
下面是自建Redis与阿里云托管Redis的能力对比
首先是在访问控制与数据安全上,阿里云Redis支持SSL、TDE,IP白名单,安全组等多种安全策略,支持全量备份,自动备份策略,支持多账号管理,只读账号,读写账号等。

image.png

 

而自建Redis需要投入一定的开发来支持不同的安全策略,仅支持一次性全量备份,自动备份策略需要通过外部工具实现,在账号管理上,需要基于ACL开发实现,在扩缩容和架构变更上,阿里云Redis支持横向纵向扩缩容,支持弹性,支持主从,集群的转换,支持主从开通读写分离模式。而自建Redis需要投入大量的运维操作达到上面的功能。
在基础实例管理上,阿里云Redis一键购买,100%托管,支持单可用区高可用,同城双机房高可用,而自建Redis需要完成资源规划,采购机器,自行管理实例节点,需要自行部署基于哨兵模式的高可用架构,搭建成本较高。
在监控告警与日志模块,阿里云Redis提供丰富的监控指标,支持配置实例告警,支持查看慢日志,审计日志,支持日志导出,而自建Redis可以通过info查看当前的监控值,历史监控需要借助外部的工具实现存储和展示,日志仅保留Redis默认的慢日志条数。
在实例分析能力上,阿里云Redis提供慢日志分析能力,大key,热key分析能力,流量倾斜分析,自建Redis需要借助外部的工具投入一定开发来完成,阿里云Redis提供了4个9的SLA。

 

五、阿里云 Tair 的发展历史

 

image.png

 

Tair阿里集团内的淘宝电商业务,从2009年开始正式承载了阿里集团的业务。经过多个业务场景的锤炼,如天猫、双11、优酷、春晚、菜鸟、高德等,它成为了一款真正的企业级内存数据库。

在2017年上云后,首先作为Redis企业版推向市场,现在已经成为独立品牌。从2010年开始开源以来,被许多公司广泛使用,例如美团、滴滴等。
image.png

这款产品具有极高的性能,可以提供比开源Redis高两倍的性能,轻松应对高流量负载。此外,Tair具备数据持久化能力,并在安全策略方面提供了多种保障措施,还提供了多种自研的数据结构,以使应用开发更加便捷。

为满足企业级用户的需求,Tair还开发了一些企业级能力,例如全球多活和数据闪回等。
应对不同的数据热度和用户访问需求,Tair提供了多种产品形态供用户选择:

image.png

极热数据和热数据的存储:适用于需要低延迟、大规模连接的业务场景,满足业务性能需求。

Tair持久内存型:适用于热数据以及温数据的存储,吞吐和延迟接近内存,有持久化需求的场景,具有较大容量存储,相比内存提供了更低的成本。

磁盘型:适用于对数据访问延迟要求不高但需要高存储容量的场景,基于阿里云的云盘技术研发,提供了较低的成本。

总之,阿里云的这款产品为企业级用户提供了多种选择,以满足不同数据量和性能需求的场景。

 

六、Tair 主要架构

image.png

 

Redis和Tair主要有三种不同的架构:

主从双复本架构:这种架构提供高可用性和切换功能。它适用于Redis命令相对简单,不涉及大量排序和计算的场景,并且在单个Redis性能压力可控的情况下使用。

Redis读写分离模式:这种架构包括代理服务器节点、主节点和只读节点。它适用于读请求较多且压力较大的场景,可以有效分担主节点的负载。

双副本集群版架构:每个分片服务器采用主从双副本的模式。这种架构适用于数据量较大、读写压力大、吞吐密集型的应用场景,支持数据和访问量的横向扩展能力。

image.png

与开源Redis、云托管Redis以及Tair这三者的比喻类似于自然界的水和不同方式存储和获取水的方式:

开源Redis 就像自然界的水源,它能够满足基本需求,但需要用户自己去获取,无法控制水质和温度等因素。

云托管Redis 就像桶装水,它提供了安全可靠的水源,并且用户可以根据需要购买所需的容量,但无法实现对水质和温度的精确控制。

Tair则类似于智能的指引水系统,它提供了更高级的功能,包括对水质和温度的控制,以及更高级的用户体验,用户可以按需使用,并且具有更多的智能化功能。

这个比喻形象地解释了这三者之间的区别和优劣势。



相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2月前
|
NoSQL 关系型数据库 Redis
DMS产品常见问题之dms登录redis实例时报错如何解决
DMS(数据管理服务,Data Management Service)是阿里云提供的一种数据库管理和维护工具,它支持数据的查询、编辑、分析及安全管控;本汇总集中了DMS产品在实际使用中用户常遇到的问题及其相应的解答,目的是为使用者提供快速参考,帮助他们有效地解决在数据管理过程中所面临的挑战。
|
8天前
|
运维 NoSQL 数据管理
数据管理DMS产品使用合集之无法通过DMS登录Redis并收到"NOAUTH Authentication required"的错误提示,该怎么解决
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
20 1
|
14天前
|
分布式计算 NoSQL 大数据
MaxCompute产品使用问题之数据在redis里可以通过接口调用到大数据计算吗
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
21天前
|
NoSQL 关系型数据库 MySQL
实时计算 Flink版产品使用问题之如何确保多并发sink同时更新Redis值时,数据能按事件时间有序地更新并且保持一致性
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
27天前
|
分布式计算 NoSQL 大数据
MaxCompute产品使用合集之自定义udf连接云上vpc网络的redis获取数据的步骤是什么
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
8天前
|
NoSQL Java Redis
数据管理DMS产品使用合集之在使用AWS DMS与ElastiCache for Redis进行通信时遇到Java超时错误,该怎么办
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
19 0
|
26天前
|
运维 NoSQL Serverless
Serverless 应用引擎产品使用合集之需要配置什么才能够使用Redis
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
26天前
|
NoSQL 关系型数据库 Serverless
Serverless 应用引擎产品使用合集之连接RDS、Redis等数据库时,是否需要通过安全组来控制访问权限
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
26天前
|
运维 NoSQL Serverless
Serverless 应用引擎产品使用合集之函数计算里是否可以使用redis less
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
2月前
|
存储 Dragonfly NoSQL
Tair 对 Redis 引擎架构之争的看法
本文详细讲解了阿里云自研数据库Tair的发展以及介绍。
73466 1

相关产品

  • 云数据库 Redis 版