我有这个代码
//net.sf.jsr107cache.Cache, CacheException, CacheFactory, CacheManager all imported
private static Cache getCache() {
Cache cache = null;
try {
CacheFactory cacheFactory = CacheManager.getInstance().getCacheFactory();
cache = cacheFactory.createCache(Collections.emptyMap());
} catch (CacheException e) {
Logger.getLogger(MemcacheUtil.class.getName()).log(Level.SEVERE,
"Unable to obtain a cache instance! \n" + e.getMessage());
}
return cache;
}
像这样使用
public static byte[] fetchFromMemcache(String key) {
return (byte[]) getCache().get(key);
}
public static void saveInMemcache(String key, byte[] value) {
getCache().put(key, value);
}
但令人烦恼的是,Memcache中没有存储任何内容,也没有打印日志消息。在使用JCache实现缓存之前,我使用了低级API,并且也遇到了同样的问题。我真的很困惑在Memcache工作之前,是否需要进行任何特殊设置(在代码中,在Appengine控制台等上)? Memcache会自然地恨我吗?我正在做(或做不到)的代码导致所有这些事情?请我想知道如何去做。谢谢!
最佳答案
在可以使用低级API使用Memcache之前,无需进行任何特殊设置(在代码中或在Appengine控制台上)。
我使用此API没问题。
(如果您愿意的话,明天我可以给您提供我用来与内存缓存成功交换数据的代码。