使用ehcache实现multimap
Use ehcache to implement a multimap
是否可以使用ehcache实现多图?我想存储存储不同值并在给定时间后过期的重复键。 Ehcache 可以轻松处理元素的过期,但我不知道允许重复键的配置。
Ehcache 不支持重复键。只要所有值的单个过期都有意义,您始终可以缓存一组值。
你可以在这个
中使用infinispan
@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]
}
是否可以使用ehcache实现多图?我想存储存储不同值并在给定时间后过期的重复键。 Ehcache 可以轻松处理元素的过期,但我不知道允许重复键的配置。
Ehcache 不支持重复键。只要所有值的单个过期都有意义,您始终可以缓存一组值。
你可以在这个
中使用infinispan @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]
}