Используйте ehcache для реализации мультикарты
Можно ли использовать ehcache для реализации мультикарты? Я хотел бы хранить дубликаты ключей, которые хранят различные значения и срок их действия истекает через определенное время. Ehcache может легко справиться с истечением срока действия элементов, но я не знаю конфигурации, позволяющей дублировать ключи.
1 ответ
Решение
Ehcache не поддерживает дубликаты ключей. Вы всегда можете кэшировать коллекцию значений при условии, что имеет смысл один срок действия для всех значений.
Вы можете использовать Infispan в этом
@Test
public void testMultimapCache() throws Exception {
EmbeddedCacheManager cacheManager = new DefaultCacheManager(Environment.openClasspathResource("/infinispan.xml"));
MultimapCacheManager<String, Object> multimapCacheManager = EmbeddedMultimapCacheManagerFactory.from(cacheManager);
MultimapCache<String, Object> cache = multimapCacheManager.get("test");
cache.put("a", new Integer(1));
cache.put("a", new Integer(2));
cache.put("a", new Integer(3));
cache.put("a", new Integer(4));
cache.put("a", new Integer(1));
System.out.println(cache.get("a").get());
// [1, 2, 3, 4]
}