将一组哈希映射插入缓存中

时间:2013-07-11 13:53:19

标签: java caching map

如何将一组哈希映射插入缓存?

执行以下代码后,我得到了以下异常。

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();
      }
   }
}  

2 个答案:

答案 0 :(得分:0)

我建议使用imcache。您可以按如下方式构建缓存,

Cache<String, String> cache = CacheBuilder.concurrentHeapCache().build();

答案 1 :(得分:0)

JSR107不是缓存,而是API。您需要一个为其提供实现的具体缓存产品。我希望所有主要的缓存产品都能提供它。由于JSR107几个月前已经完成,可能需要一些时间才能出现。一般来看看缓存产品,如EHCache,Infinispan,Hazelcast,imcache和cache2k,并决定使用它。