В нашем решении используется конфигурация Redisson с программным созданием c кеша с использованием org.redisson.jcache.JCacheManager
с одним сервером Redis. Кеши создаются с конфигурацией cache-api
и ExpiryPolicy.
private Configuration<Object, Object> cacheConfig(final Factory<ExpiryPolicy> expiryPolicyFactory) {
var configuration = new MutableConfiguration<>()
.setExpiryPolicyFactory(expiryPolicyFactory)
.setStatisticsEnabled(true);
return RedissonConfiguration.fromInstance(redissonClient, configuration);
}
Когда приложение загружается в первый раз, кеши начинают использоваться, и в течение определенного периода они работают должным образом с большим количеством попаданий в кеш.
После периода тестов один (или несколько) кешей начинают «ухудшаться», и коэффициент промахов кэша начинает расти. Время размещения кэша также начало быть очень большим. У нас есть экран, показывающий статистику кеша. Это один из примеров статистики после возникновения проблемы.
Статистика кэша В этом примере все остальные кэши того же типа работают должным образом. Проблема возникает только с "Usuario.funcionalidades".
Проблема всегда возникает с вложенной коллекцией в объекте Hibernate. См. Отображение сущностей
Вы видели подобное поведение? Есть какие-нибудь подсказки о том, как лучше понять, что происходит?