gpt4 book ai didi

java - 不正确的 ehcache 统计信息 : hits+misses == 0

转载 作者:IT老高 更新时间:2023-10-28 13:55:52 26 4
gpt4 key购买 nike

我有一个问题,其中 net.sf.ehcache.CacheManager 出现返回无效统计信息。

我正在使用 ehcache-core v2.3.2(最新版本)和 ehcache-spring-annotations .

问题getMemoryStoreObjectCount 返回 1 对象,而 getCacheHitsgetCacheMisses 返回 0。总计数不应该是 hits + misses 吗?

下面的单元测试应该能说明问题(它应用于数据库):

@Test
public void testCache() {
Entity e = ..
dao.storeEntity(e);
dao.getEntity(e);
assertEquals(1, cache.getStatistics().getMemoryStoreObjectCount()); // ok
assertEquals(0, cache.getStatistics().getCacheHits()); // ok
assertEquals(1, cache.getStatistics().getCacheMisses()); // fails due to 0

}

为了完整起见,我包括了所有必要的配置:

Spring 配置

<ehcache:annotation-driven cache-manager="ehCacheManager" />
<bean id="ehCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation" value="classpath:ehcache.xml"/>
</bean>

ehcache.xml

<ehcache>
<defaultCache eternal="false" maxElementsInMemory="1000"
overflowToDisk="false" diskPersistent="false" timeToIdleSeconds="0"
timeToLiveSeconds="600" memoryStoreEvictionPolicy="LRU"/>
</ehcache>

@Cacheable(keyGenerator=@KeyGenerator(name="StringCacheKeyGenerator"))
public Entity getEntity(Serializable key) {
return // sql ...
}

最佳答案

statistics="true" 添加到您的 ehcache.xml,通常最好将配置更改保留在代码之外。

<ehcache>
<defaultCache ... statistics="true" />
...
</ehcache>

关于java - 不正确的 ehcache 统计信息 : hits+misses == 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5263808/

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