首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在高性能读取模型(数据库)之上的缓存层的优势

在高性能读取模型(数据库)之上的缓存层的优势
EN

Stack Overflow用户
提问于 2015-10-23 03:34:35
回答 1查看 198关注 0票数 2

我目前正在观察和研究几种现有的软件架构技术,您可以在开发超大规模应用程序时考虑这些技术。正如他们所说的,网络规模的架构。

我现在了解到,您可以拆分读写模型/数据库。因此,现在我在我的应用程序中构建了一个数据层,它写入RDBMS (SQL服务器),但从Azure Table Storage读取(当适当分区时,它非常快)。

问题是,当读取模型已经非常快时,为什么我要或应该在读取模型之上添加一层缓存层(例如分布式Redis缓存)?将获得什么性能/优势?如果我理解正确的话,它只会增加另一层复杂性,因为您必须处理陈旧的数据。

EN

回答 1

Stack Overflow用户

发布于 2015-10-23 06:35:51

在其他条件相同的情况下,缓存层总是比RDBMS更快,能够处理更高的吞吐量。

基本上,您可以对RDBMS执行更复杂但速度更慢的查询,然后将它们存储在缓存层中,缓存层基本上只是一个用于O(1)访问的键值存储。相比之下,基本上对RDBMS的任何查询都不会那么快。如果你有很多人反复点击相同的查询,这是一个很好的扩展和给你的用户一个更快的体验的路径。

是的,权衡的是它增加了额外的复杂性。如果您的数据库足够强大和快速,可以处理当前的load+,则不必担心缓存问题。另一方面,如果您试图扩展或为用户提供更快的体验,则缓存比分片或集群您的数据库要简单得多,而且对于许多应用程序来说,缓存将走得更远,需要的实现和维护工作更少。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33289250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档