简单地说,我们现在是Redis

了解更多

从大规模缓存入门中介绍缓存

简要介绍一下Lee Atchison的《Redis Scale caching》



回到博客

拥有超过34年的SaaS应用架构和构建经验,李Atchison是公认的思想领袖和应用程序现代化、云迁移和DevOps转换方面的专家。你可以通过他的三本书、70多篇发表的文章或100多篇演讲、课程和研讨会来阅读或观看他展示的专业知识。

您和您的团队开发了一个值得人们关注的应用程序。口口相传,它的受欢迎程度飙升,但随后运营成本开始飙升,应用程序不断崩溃,客户做出了不可思议的事情——他们在推特上说速度超慢。

当你的客户群增长时,你如何保持成本不上升?您欢迎伸缩性的挑战,但也不能为了更高的故障转移率和增加的维护成本而牺牲增长。

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

什么是缓存?

缓存是一种数据存储组件,可以比原始数据源更快或更有效地访问。

Lee Atchison, Redis的大规模缓存。

当有获取数据的请求时,缓存会实时提供该数据的副本。随着越来越多的用户开始使用你的应用程序,你需要一个高级的应用程序架构来处理这些增加的数据请求,而不需要在你的主要数据存储之间来回切换。

李的总结非常简单:“我们的现代世界需要现代的应用。”

客户对性能的要求越来越高,这不是什么秘密。如果您的应用程序没有达到客户的期望,这些客户就会离开并涌向您的竞争对手。

每一个快速、易用的应用程序背后都有大量的移动部件。正如Lee所说,“今天的应用程序必须能够处理大量数据,执行复杂的操作,维护数据元素之间的众多关系,并在事务之间的不同和完全不同的状态上操作。”

复杂的应用程序中会出现令人头疼的问题,缓存就是为了将这些问题最小化。

使用Redis进行大规模缓存

使用Redis进行大规模缓存Lee介绍了什么是缓存,为什么以及何时需要它,以及可以帮助应用程序实现最高性能的缓存实践。

一个简单的缓存(p. 4)

当用户从服务请求数据时,将执行操作从商店获取数据,然后将该信息转发回消费者。然而,Lee指出,这些操作可能会耗费大量的资源和时间,特别是在重复检索相同数据的情况下。

相反,在缓存中,第一次执行复杂操作时,结果返回给使用者,结果的副本存储在缓存中。下一次需要数据时,无需重新执行复杂的操作,结果可以直接从缓存中取出,并以更快的速度返回给消费者,使用的资源也更少。”

缓存修复了什么——但为什么它不是完美的

缓存不是一种万能的数据存储。应用程序架构各不相同,特别是由于应用程序的大小甚至行业用例。然而,Lee表示,缓存将有助于改进以下四个主要特性:

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

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

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

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

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

准备好终极缓存剧本

现在你知道你需要一个缓存,这个免费的电子书是唯一的入门,你需要建立和扩大你的Redis缓存。

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

当你深入阅读电子书时,使用Redis进行大规模缓存讨论了不同类型的缓存策略,并就这些策略如何适合您提供了实用的解释——特别是如果您在云中。

Lee说:“虽然有许多方法、流程和技术可以使应用程序保持大规模的高可用性,但缓存几乎是所有方法中的核心技术。”

欲了解更多关于电子书的信息,请访问我们的页面

Baidu