天天看点

虹科分享 | 妙招频出,Redis 企业版这样解决缓存问题→

作者:虹科云科技

用于缓存的 Redis 企业版

实现可扩展、有弹性的实时应用程序

为什么企业需要数字化?

数字化转型的根本目的是什么?

数据的缓存为什么如此的重要?

虹科Redis Enterprise又能够在哪些方面助力企业解决数据处理难题?

01 当前数据库缓存面临的挑战:使用当前数据库实现速度和可扩展性

实现满足用户期望所需的数据性能并不容易。企业需要应对遗留基础设施、缓慢的数据库和技术债务。他们经常面临成本、精力和业务连续性限制。

数据是业务应用程序的命脉。然而,组织的应用程序必须处理大型数据集,这会降低性能,特别是当应用程序每次需要时都必须访问数据库时。

结果是痛苦且昂贵的:

l 延迟:客户期望应用程序能够立即响应,但许多业务应用程序速度太慢。

l 可扩展性: 许多应用程序和数据库都在努力支持数字业务服务的增长或承受突然的需求激增。

l 弹性:由于应用程序处于业务停机的最前沿,因此停机是一项重大的业务风险,而防止停机是一项重大的技术挑战。

l 技术债务:企业需要提高性能、可扩展性和弹性,而无需承受从头开始重新设计系统的痛苦和费用。

02 解决方案:使用Redis企业版进行缓存

企业级缓存层会产生巨大的影响。缓存层是位于应用程序和数据库之间的临时存储位置。它允许应用程序快速访问经常需要的数据,而不必每次都查询数据库。这通过缩短响应时间并减轻数据库的负担来显着增强应用程序性能和可扩展性。

这不仅仅是一个技术问题。缓存提供了业务优势,因为它减轻了对软件开发和操作人员的需求。实施企业级缓存可以避免耗时、资源密集且昂贵的数据库迁移或应用程序重构。换句话说: 这是解决性能和可用性问题的快速方法,无需要求开发人员在其待 办事项列表中添加另一个项目。

Redis Enterprise 由 Redis 开源的创建者构建,在具有挑战性的企业生产环境中部署已有十多年的历史。

可在本地、通过Kubernetes、在混合环境中使用,或在Amazon Web Services(AWS) ,微软Azure,和谷歌云(GCP) 环境中完全托管,Redis Enterprise 帮助数千个大型组织保持实时性能,并具有可扩展性、成本效率和高可用性。它也很容易使用,这就是开发人员争相使用它的原因。

用例一:旁路缓存

何时使用它?为了加快数据库读取速度。旁路缓存通常与最近最少使用(LRU)淘汰策略一起使用

1. 真实用例

考虑在零售网站上展示特色产品。第一次展示产品时,电子商务应用程序会从记录系统加载产品详细信息 (图像、价格和元数据) 。然后,应用程序将详细信息缓存到 Redis Enterprise 中。

结果: 网站可以以低延迟向大量用户提供相同的数据。

2. 描述

使用 Redis Enterprise 作为缓存的最常见方式是旁路缓存。

数据仅在必要时才加载到Redis Enterprise缓存中,因此有时被称为延迟加载。

当需要缓存数据集的子集并且缓存未命中可以接受时,旁路缓存是读取应用程序的常见选择。使用缓存端模式,应用程序处理所有数据操作,并直接与缓存和数据库通信。数据库和缓存不直接相互通信。

3.缓存端如何与 Redis Enterprise配合使用?

应用程序查看 Redis Enterprise 缓存以检索数据。如果找到数据 (称为缓存命中) ,Redis会将数据传送到应用程序。这种情况发生在亚毫秒级延迟的情况下。

如果未找到数据 (缓存未命中) ,应用程序将从数据库中检索数据。延迟较高时会发生这种情况。然后,应用程序将数据写入 Redis Enterprise。

用例二:查询缓存

何时使用它?加快高延迟常用查询的速度

1.真实用例

真实用例: 使遗留应用程序保持最新状态是一个令人痛苦的项目。

即使旧系统必须与新软件交互,也没有人愿意接触尘土飞扬、挑剔的代码。查询缓存可让您保留旧系统,并将其连接到具有更快 SOL 数据性能的新系统。

2.描述

使用查询缓存来提高查询性能,从而缩短数据查询的响应时间。查询缓存是旁路缓存模式的独特实现,旨在针对较慢的记录系统加速 (通常可重复) SOL 查询。

通过查询缓存,您不需要将数据转换为另一种数据结构。从应用程序的角度来看,这只是一个数据库查询,返回的值来自缓存而不是有意的数据库读取。查询用作键,序列化结果集用作值。

一种常见的用途是迁移到微服务的企业。当企业迁移到微服务而无需重新构建当前系统平台或从头开始时,使用查询缓存是很常见的。

这种解决方案中的一个要素是Redis智能缓存。它使开发人员能够快速部署标准化查询缓存以简化管理和操作,而且您无需重新设计应用程序。只需将库添加为新的依赖项,并将 Redis 端点作为其属性文件即可。该库还支持对通过 Java 数据库连接(JDBC) 驱动程序流向记录系统的所有查询进行分析。

3.查询缓存如何与 Redis Enterprise配合使用?

当应用程序想要查询数据库时,它会向 RedisEnterprise 缓存发送 SQL 查询。

如果找到数据(称为缓存命中),RedisEnterprise 会将数据传送到应用程序。这种情况发生在亚毫秒级延迟的情况下。

用例三:后写式缓存

何时使用它?

在一致性至关重要时加快读取速度,而不强制应用程序管理多个数据源连接

1.真实用例

一些行业需要数据库来保存额外的记录,例如医疗和金融公司。

但每个事务写入多个数据库会抑制写入响应时间,并可能导致应用程序延迟。

例如,当您需要处理财务记录和交易数据并将其保存在冷存储中以进行审计或报告时,Write behind 缓存是个不错的选择。

2.描述

某些应用程序访问现有信息的频率远高于存储或更新事务的频率。和查询缓存非常适合这些场景。然而,当应用程序执行大量写入操作

后写式缓存是更好的选择。它提高了写入性能并简化了应用程序开发,因为应用程序仅写入一个位置: Redis Enterprise。然后,Redis Enterprise异步更新后端数据库。

您可以将 Redis Enterprise 的集成更改数据捕获(CDC)与缓存一起使用,以识别缓存中更改的数据,并确保数据最终在底层数据库中更新。

3.后写式缓存如何与

应用程序将数据写入Redis Enterprise缓存,而不是直接写入数据库。

数据存储到Redis Enterprise后,Redis Enterprise使用集成的CDC异步写入数据库。

用例四:直写式缓存

何时使用它?

加速写入密集型工作负载,而不强制应用程序管理多个数据源连接。

1.真实用例

真实用例:一些企业使用“关键任务”作为流行语。但对许多人来说,这是赤裸裸的事实陈述一一妥协不是一种选择。当您需要缓存但绝对不能丢失数据 (例如关键零售客户数据或金融交易数据) 时,请考虑直写式缓存。

2.描述

直写式缓存策略与后写式方法类似,因为缓存位于应用程序和操作数据存储之间。

缓存负责立即更新数据库。然后,应用程序可以直接从Redis Enterprise 读取数据,延迟时间为亚毫秒级。

直写模式有利于缓存和数据存储之间的数据一致性。它依靠事件驱动的功能来实现系统之间的数据流。Redis能够确保数据库同步更新,以保持缓存和记录系统之间的一致性。

3.直写式缓存如何与

应用程序将数据写入 Redis Enterprise 缓存。

Redis Enterprise 确保记录系统同步更新,以保持Redis Enterprise 和记录系统之间的一致性。

用例五:缓存预取

何时使用它?

通过从记录系统卸载读取,在写入优化和读取优化工作负载之间部署连续复制。

1.真实用例

应用程序依靠用户配置文件在整个会话期间识别个人 (从身份验证开始) 。

这些用户配置文件经常被读取,但很少更改。缓存预取应用程序的用户配置文件,允许直接在数据库中进行不频繁的写入,同时将数据预加载到 Redis Enterprise 以支持大量读取。

这使得应用程序响应速度更快、可扩展性更高、成本更低。

2.描述

缓存预取用于写入优化和读取优化工作负载之间的连续复制。

通过这种缓存模式,应用程序的写入直接发生到数据库。

当数据在记录系统中发生变化时,数据会使用集成的 CDC 复制到 Redis Enterprise,因此数据会在应用程序需要读取之前到达缓存。

3.缓存预取如何与 Redis Enterprise配合使用?

应用程序将数据直接写入其原始记录系统。

当数据在记录系统中发生更改时,集成 CDC 会将数据复制到 Redis Enterprise 缓存。最终效果是数据在应用程序请求数据之前到达,以便执行数据库读取。

然后应用程序直接从 Redis Enterprise 读取。

03 随心缓存

许多软件项目都是从基层应用程序开始的。一旦成功,它们就会发展成为成千上万人依赖的广泛系统。随着用户数量、数据量和地理位置的增加,成本、可扩展性、操作和系统可用性问题也随之增加。

大多数缓存缺乏缓解这些问题的功能。开发人员花时间旋转轮子或重新发明这些轮子,这并没有很好地利用他们的时间一特别是当这些精力更好地花在改进创新软件上时。Redis开源提供的缓存很棒,我们为此感到自豪- 但在某些时候,投资由具有主题专业知识的人员构建的工具是有意义的。

能升级到更好的缓存解决方案可能会阻碍业务增长,导致数据丢失或应用程序性能不佳,并导致 Redis产生大量工作和费用的机会成本。升级到企业级缓存对于实现和支持业务增长至关重要。

Redis Enterprise 是唯一提供以下功能的企业级缓存:

l 灵活性:单一数据平台,可与本地、混合环境或任何云中的现有基础设施无缝协作

l 可扩展性:轻松扩展,在每秒数百万次操作的情况下保持亚毫秒级延迟

l 高可用性:具有五个九的 SLA,在支持关键任务应用程序方面表现出色

l 成本效益:缓存大型数据集时,存储分层可节省高达 80%的基础设施成本

l 简单:与现有架构一起工作,支持各种缓存模式 (无需重新架构或重新平台) ,并因易于使用而享有盛誉

Redis 已经解决了几乎所有类型的缓存问题。随着我们开发这种专业知识,我们构建了使客户更轻松地进行缓存的功能。借助 Redis Enterprise,我们可以处理缓存隐藏的复杂性,因此您不必自己处理。

虹科《用于缓存的Redis企业版》通过旁路缓存、查询缓存、后写式缓存等5个用例探索了虹科Redis企业版在缓存应用程序中的强大功能。下面是白皮书节选部分:

虹科分享 | 妙招频出,Redis 企业版这样解决缓存问题→
虹科分享 | 妙招频出,Redis 企业版这样解决缓存问题→
虹科分享 | 妙招频出,Redis 企业版这样解决缓存问题→
虹科分享 | 妙招频出,Redis 企业版这样解决缓存问题→
虹科分享 | 妙招频出,Redis 企业版这样解决缓存问题→
虹科分享 | 妙招频出,Redis 企业版这样解决缓存问题→

虹科是Redis原厂的中国区战略合作伙伴。我们持续关注各行业当下急切需求,专注于为企业解答疑问,制定专属服务,提供一站式数据库和商业智能解决方案。了解更多【企业级数据库解决方案】及【企业缓存指南】,欢迎前往虹科云科技官网!

继续阅读