什么会更快 - 当两个记录相同时,EHCache或DB命中?

时间:2013-03-08 18:42:24

标签: performance ehcache

这可能听起来很愚蠢...... 假设一个场景中缓存中有1,00,000条记录,密钥为someId 现在,数据库有1,00,000条主键为someId的记录。

我的问题是在这种情况下会更快?使用where子句访问缓存或命中DB? 我们假设使用的缓存是EHCache,DB是MySql。

1 个答案:

答案 0 :(得分:2)

缓存是本地的,位于RAM中,db是远程的,数据位于磁盘中(最常见)。关键区别!

查看Numbers Everyone Should Know (slide #13)您正在查看大约100-1000ns(从缓存中读取数据)VS 20000 ns(通过1Gbps网络发送2Kb)。所以即使不包括磁盘读取差异已经是20倍。如果您考虑磁盘读取(10 000 000 ns),差异将变为10 000x。

但这些都是理论计算;你需要自己测量。