首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于大量的数据来说,缓存值得吗?

对于大量的数据来说,缓存值得吗?
EN

Stack Overflow用户
提问于 2019-06-27 06:56:42
回答 1查看 199关注 0票数 0

假设我们有一个500TB的键值对数据。我们可以使用2.5TB内存来为将来的请求缓存这些对。这些要求是多么的随意。

代码语言:javascript
复制
The probability of cache hit would be 2.5/500 = 0.5%

我知道,如果我们使用LFU驱逐,命中率可能会随着时间的推移而增加,因为随着时间的推移,键将更频繁地留在缓存中,增加缓存命中率。

因此,如果从存储10K QPS读取系统的吞吐量,那么使用缓存将提高0.05%的速率(忽略内存查找时间)。

那么吞吐量将是10,050 QPS

在这种情况下,使用缓存的效率如何?

我们不需要缓存吗?

更新

我想我搞错了。如果我们有100%命中,那么吞吐量将是1 1MQPS。如果我们有0%命中率,那么吞吐量将是10 10KQPS。

有0.5%的命中率(假设线性关系)

代码语言:javascript
复制
(0.5*(1M-10K)/100)+10K = 14950 QPS 

这是50%的吞吐量增加。

EN

回答 1

Stack Overflow用户

发布于 2019-06-27 07:05:25

“不知何故随机”是关键。

如果请求确实是随机的,那么缓存就不太可能起作用。你的逻辑是正确的。但在实际系统中,事实证明许多数据存储都有不统一的、高度相关的访问模式。

这仍然适用于大量的数据。不管总共有多少数据。它只是重要的是,有多少是经常需要的。

编辑更新没有意义。你在那里的平均速度,但你需要平均的操作时间。

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

https://stackoverflow.com/questions/56785561

复制
相关文章

相似问题

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