dot Redis 8 已发布——且它是开源的

了解更多

缓存入门:来自大规模缓存基础指南

Lee Atchison 在架构和构建 SaaS 应用方面拥有超过 34 年的经验,是应用现代化、云迁移和 DevOps 转型的知名思想领袖和专家。您可以阅读或观看他的三本书、70 多篇已发表文章或数百场演讲、课程和研讨会,了解他的专业知识。 

您和您的团队开发了一个值得关注的应用。口碑传播开来,应用人气飙升,但随后运营成本开始飙升,应用不断崩溃,一位客户做了一件不可思议的事情——他们在推特上抱怨速度极慢。

随着客户群的增长,如何控制成本不上升?您乐于迎接扩展带来的挑战,但也无法为了更高的故障转移率和增加的维护成本而牺牲增长。 

有一件事是肯定的:您需要一个应用缓存。 

什么是缓存? 

“缓存是一种数据存储组件,比原始数据源访问速度更快或效率更高。”  

Lee Atchison,《使用 Redis 进行大规模缓存》。

当有数据获取请求时,缓存会实时提供该数据的副本。随着越来越多的客户开始使用您的应用,您需要一个先进的应用架构,能够处理这些增加的数据请求,而无需在主数据存储之间来回访问。 

Lee 总结得很简单:“我们的现代世界需要现代应用。”

客户要求越来越好的性能,这已经不是秘密。如果您的应用性能达不到客户预期,这些客户就会离开并转投您的竞争对手。 

在每一个快速、易用的应用背后,都有大量的活动部件。正如 Lee 所说:“今天的应用必须能够处理大量数据,执行复杂操作,维护数据元素之间的众多关系,并在事务之间处理独特且差异化的状态。”

复杂应用中难免会出现问题,而缓存的存在就是为了最大程度地减少这些问题。

阅读《使用 Redis 进行大规模缓存》 

《使用 Redis 进行大规模缓存》中,Lee 介绍了什么是缓存,为什么以及何时需要缓存,以及有助于您的应用实现最高性能的缓存实践。

一个简单的缓存(第 4 页)

当用户从服务请求数据时,会执行操作从存储中获取数据,然后将信息中继回给消费者。然而,Lee 指出,这些操作可能会非常消耗资源和时间——特别是如果重复检索相同数据时。

“相反,使用缓存时,第一次执行复杂操作后,结果会返回给消费者,并将结果的副本存储在缓存中。下次需要数据时,无需再次执行复杂操作,而是可以直接从缓存中取出结果,更快地返回给消费者,并且使用更少的资源。”

缓存解决了哪些问题——但为什么它并非完美

缓存并非一刀切的数据存储。应用架构因应用规模甚至行业用例而异。然而,Lee 表示,缓存主要可以帮助改进四个方面的特性:

  • 性能 
  • 扩展
  • 资源优化
  • 便利性和可用性

这并不意味着实现缓存就会自动为您提供这些功能。

“在许多情况下,缓存可能不会增加价值,在少数情况下,缓存甚至会降低性能,” Lee 说道。他提出了三个潜在问题:

  1. 缓存可能导致应用不执行目标操作所需的副作用
  2. 缓存中的数据不一致
  3. 缓存性能差

Lee 指出,缓存要有用,某些变量必须为真(规则列表请参见电子书第 8 页)。“要使缓存有效,您需要对应用或数据源的数据访问统计分布有非常好的了解,” Lee 说道。

用这份终极缓存攻略武装自己

既然您知道需要缓存,这本免费电子书就是您使用 Redis 构建和扩展缓存所需的唯一基础指南。 

Lee 本人说:“这本书描述了什么是缓存,为什么它是有效大规模现代应用的基石,以及 Redis 如何帮助您满足这些严苛的缓存需求。”

当您深入阅读这本电子书时,《使用 Redis 进行大规模缓存》将讨论不同类型的缓存策略,并提供实用的解释,说明这些策略如何适合您——尤其是如果您身处云环境。   

“虽然有许多方法、流程和技术可以使应用在大规模下保持高可用性,但在几乎所有这些方法中,缓存都是一项核心技术,” Lee 说道。

有关电子书的更多信息,请访问我们的页面