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

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,通用型 2核4GB
简介: 课时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
相关文章
|
1月前
|
NoSQL 关系型数据库 Redis
DMS产品常见问题之dms登录redis实例时报错如何解决
DMS(数据管理服务,Data Management Service)是阿里云提供的一种数据库管理和维护工具,它支持数据的查询、编辑、分析及安全管控;本汇总集中了DMS产品在实际使用中用户常遇到的问题及其相应的解答,目的是为使用者提供快速参考,帮助他们有效地解决在数据管理过程中所面临的挑战。
|
7月前
|
NoSQL Redis 数据库
Tair for Redis数据闪回:任意时间点数据恢复
Redis的数据闪回功能提供了更精细化的数据恢复能力,支持恢复实例指定Key的数据到指定时间点。
339 0
|
6月前
|
存储 关系型数据库 MySQL
阿里云数据库产品专属活动,RDS MySQL、PolarDB、Redis精选特惠
阿里云云数据库特惠,全新 RDS MySQL、PolarDB、Redis 经济规格上线,高性价比上云首选,以下是具体配置及价格参考。
阿里云数据库产品专属活动,RDS MySQL、PolarDB、Redis精选特惠
|
7月前
|
存储 NoSQL Redis
课时7:Tair生态及开源module的使用
课时7:Tair生态及开源module的使用
105 0
|
7月前
|
存储 缓存 运维
课时6:Tair在雪球和作业帮的使用剖析
课时6:Tair在雪球和作业帮的使用剖析
111 0
|
7月前
|
存储 人工智能 NoSQL
课时5:AIGC时代,Tair向量检索助力AI
课时5:AIGC时代,Tair向量检索助力AI
193 0
|
7月前
|
存储 JSON NoSQL
课时4:Tair在游戏行业的应用
课时4:Tair在游戏行业的应用
63 0
|
7月前
|
缓存 NoSQL 关系型数据库
课时3:通过缓存来加速数据库访问(MySQL+Redis)
课时3:通过缓存来加速数据库访问(MySQL+Redis)
153 0
|
7月前
|
监控 NoSQL 数据库
课时2:Tair的实操流程及常见问题
课时2:Tair的实操流程及常见问题
126 0
|
9月前
|
弹性计算 NoSQL 算法
阿里云Redis与Tair压力测评
无意中发现阿里云开发社区的训练营活动,其中有一个7天玩转Redis、tair训练营计划,里面可以免费领取三个月的试用礼包,因为是参营任务,不领取都不行的那种,领取之后放着也是放着,不如跑跑数据看看Redis和Tair的性能有什么区别,简单的压力测试下,本次测试并不精确,也不具有太多参考意义,真的就是为了测试而测试。
189 0

相关产品

  • 云数据库 Redis 版