我有这个代码

//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没问题。

(如果您愿意的话,明天我可以给您提供我用来与内存缓存成功交换数据的代码。

08-27 05:24