如何将一组哈希映射插入缓存?
执行以下代码后,我得到了以下异常。
net.sf.jsr107cache.CacheException: Could not find class: 'ri.cache.BasicCacheFactory'
at net.sf.jsr107cache.CacheManager.getCacheFactory(CacheManager.java:46)
at InsertIntoCACHE.main(InsertIntoCACHE.java:17)
我想插入一个hashmap作为值,String为Key.Any help非常感谢
import java.io.IOException;
import java.util.HashMap;
import java.util.Collections;
import net.sf.jsr107cache.Cache;
import net.sf.jsr107cache.CacheException;
import net.sf.jsr107cache.CacheFactory;
import net.sf.jsr107cache.CacheManager;
public class InsertIntoCACHE {
public static void main(String[] args) throws IOException {
Cache cache;
try {
CacheFactory cacheFactory = CacheManager.getInstance().getCacheFactory();
cache = cacheFactory.createCache(Collections.emptyMap());
String key="21";
byte[] value=("Twenty One").getBytes();
cache.put(key, value);
value = (byte[]) cache.get(key);
System.out.println(value);
} catch (CacheException e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:0)
我建议使用imcache。您可以按如下方式构建缓存,
Cache<String, String> cache = CacheBuilder.concurrentHeapCache().build();
答案 1 :(得分:0)
JSR107不是缓存,而是API。您需要一个为其提供实现的具体缓存产品。我希望所有主要的缓存产品都能提供它。由于JSR107几个月前已经完成,可能需要一些时间才能出现。一般来看看缓存产品,如EHCache,Infinispan,Hazelcast,imcache和cache2k,并决定使用它。