首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么分布式缓存比数据库快?

为什么分布式缓存比数据库快?
EN

Stack Overflow用户
提问于 2014-12-19 08:48:39
回答 1查看 2.6K关注 0票数 9

假设数据存储在数据库和分布式缓存(.i.e )中。(不需要连接),与直接访问数据库相比,分布式缓存的速度更快是否仍然相关?据我所知:

  • 应用程序访问分布式缓存的延迟=网络时间+缓存访问(内存中)时间+反序列化(从二进制到对象)时间
  • 应用程序访问数据库的延迟=网络时间+数据库查询时间(文件访问或数据库缓存)+水合时间(将数据库结果读入对象)

因此,这里的不同之处在于缓存访问时间和数据库查询时间(假设反序列化对于强大的服务器来说是快速的)。但是与网络时间相比,我认为缓存访问时间和数据库查询时间应该少得多,因此时间应该大致相同。

我知道我在这里有很多假设,但如果有人能帮我解释我是否正确理解(如果有统计数据的话),那就太好了。

EN

回答 1

Stack Overflow用户

发布于 2021-12-19 16:22:43

是的,所有的事情都是一样的,从内存缓存中访问数据的速度将比使用DB时快。

应用程序访问分布式缓存的延迟=网络时间+缓存访问(内存中)时间+反序列化(从二进制到对象)时间

对,是这样

应用程序访问数据库的延迟=网络时间+数据库查询时间(文件访问或数据库缓存)+水合时间(将数据库结果读入对象)

对,是这样

大多数DBs都会将页面保存在缓冲区缓存中,这实际上就像在内存中查找页面一样,但是在高吞吐量的数据库中,需要从磁盘中获取许多页面,这比访问主存要慢得多。

在缓存中,数据总是在内存中。在DB中,有些部分在内存中,有些在磁盘上。

NVME的速度非常快,但仍远不及从RAM访问数据的速度。

如果处理器是厨师,切碎和烹饪食物。你的内存是冰箱。你的硬盘就在街上的商店里。它就在那里,它并不太远,但它的速度远远不如你把它放在冰箱里。

一些延迟数:https://gist.github.com/jboner/2841832

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

https://stackoverflow.com/questions/27562449

复制
相关文章

相似问题

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