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

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

Stack Overflow用户
提问于 2022-03-19 00:02:39
回答 1查看 461关注 0票数 0

https://medium.com/@i.gorton/six-rules-of-thumb-for-scaling-software-architectures-a831960414f9声明有关分布式缓存:

更好的是,如果不需要查询数据库,为什么还要查询呢?对于频繁读取和很少更改的数据,可以修改处理逻辑以首先检查分布式缓存,例如memcached服务器。--这需要远程调用,但是如果您需要的数据在缓存中,那么在快速网络上,这比查询数据库实例要便宜得多。

声称分布式内存缓存比查询数据库更快.查看每个程序员应该知道的延迟数,可以看到这些操作的延迟比较如下:同一数据中心内的主内存引用<<<往返顺序地从SSD <<<发送数据包CA->荷兰->CA中读取1MB。

我将访问分布式缓存的网络调用解释为“发送数据包CA->荷兰->CA”,因为缓存的数据可能不在同一个数据中心。我说错了吗?我是否应该假设复制系数很高,以至于缓存的数据应该在所有数据中心中可用,而分布式缓存和数据库之间的比较更像是“同一数据中心内的往返”与“从SSD中顺序读取1MB”?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-19 15:02:20

数据库通常需要从磁盘访问数据,这是缓慢的。虽然大多数人会将一些数据缓存在内存中,这使得频繁运行的查询更快,但还有其他一些开销,如:

  • 查询解析和语法检查
  • 数据库权限/授权检查
  • 优化器创建数据访问计划
  • 一种非常健谈的协议,特别是当返回多行时

所有这些都会增加延迟。

缓存处没有这些间接费用。在一般情况下,缓存的读大于写,而且缓存在内存中总是有一个可用的值(如果不是冷命中的话)--对缓存的写入不会停止读取当前的值--同步写入只是意味着写请求和可用的新值之间会有轻微的延迟(到处都有)。

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

https://stackoverflow.com/questions/71534342

复制
相关文章

相似问题

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