gpt4 book ai didi

java - Ehcache中的 "cache misses"和 "in memory cache misses"有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:36:29 27 4
gpt4 key购买 nike

我正在查看 EhCache 统计数据,我看到了这些数字:

CacheMisses: 75977
CacheHits: 38151

InMemoryCacheMisses: 4843
InMemoryCacheHits: 38151

“内存”是唯一的存储 - 没有堆外存储,也没有磁盘存储(overflowToDisk="false", diskPersistent="false")。那么这两个是什么意思呢?我希望它们是相同的(命中率相同),但未命中率差异很大。

最佳答案

您的缓存中是否有一些 null 值的 Element? (Ehcache 允许您使用 null 值存储 Element,但我不确定这是否有任何限制)。

查看 Cache.searchInStoreWithStats(Object key) 的代码在 2.5.3 版本中,似乎存在一个错误:

  • 确定是否增加 inMemoryMisses 的测试使用 containsKey() 导数,
  • 而递增 cacheMisses 的测试会针对 get() 导数的结果进行空检查。

因此,每次您搜索存在于 InMemoryStore 但具有 null 值的键时,它会增加 cacheMisses 但不会inMemoryMisses

所以,我可能完全不喜欢,但我闻起来很对。你怎么看?

编辑:我意识到我的解释是错误的——元素不能为空(但它的“值”可以为空)。无论如何,我都会在这里留下这个答案,以防它触发任何其他想法

关于java - Ehcache中的 "cache misses"和 "in memory cache misses"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11873958/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com