我们的解决方案使用redisson配置,并使用 org.redisson.jcache.JCacheManager
只有一台redis服务器。缓存是用 cache-api
配置和过期策略。
private Configuration<Object, Object> cacheConfig(final Factory<ExpiryPolicy> expiryPolicyFactory) {
var configuration = new MutableConfiguration<>()
.setExpiryPolicyFactory(expiryPolicyFactory)
.setStatisticsEnabled(true);
return RedissonConfiguration.fromInstance(redissonClient, configuration);
}
当应用程序第一次加载时,缓存开始被使用,并且在一段时间内,缓存命中率很高。
经过一段时间的测试,一个(或多个)缓存开始“恶化”,缓存未命中率开始升高。缓存放置时间也开始非常高。我们有一个显示缓存统计数据的屏幕。这是问题发生后的一个统计示例。
缓存统计在本例中,相同类型的所有其他缓存都按预期工作。只是“usuario.functionalidades”有问题。
问题总是发生在hibernate实体中的嵌套集合上。请参见实体Map
你见过类似的行为吗?关于如何更好地理解正在发生的事情有什么线索吗?
暂无答案!
目前还没有任何答案,快来回答吧!