Используйте 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]
    }
Другие вопросы по тегам