是memcache使用谷歌应用引擎的读取配额?

时间:2013-05-27 07:01:36

标签: google-app-engine gwt memcached google-cloud-datastore blob

enter image description here

我使用了GWT 2.4和GAE 1.7.4。在我的数据存储中我使用了blob来存储图像。**我已将所有数据放入** memcache 并在每次刷新主页后读取配额增加1%

我的代码如下

 public List<CastDTO> getAll() {
    List<CastDTO> dtoList = new ArrayList<CastDTO>();

    //Use Memcache more efficiently, Increase caching of frequently accessed shared data
    final MemcacheService syncCache = MemcacheServiceFactory.getMemcacheService();
    syncCache.setErrorHandler(ErrorHandlers.getConsistentLogAndContinue(Level.INFO));
    List<Cast> cacheCastsList = (List<Cast>) syncCache.get(StaticData.CAST_LIST);

    if(cacheCastsList == null){
        cacheCastsList = castDAO.findAll();
        for (Cast cast : cacheCastsList) {
            dtoList.add(CastConverter.convert(cast));
            syncCache.put(cast.getCastName(), cast.getCastImage());
        }
        syncCache.put(StaticData.CAST_LIST, cacheCastsList);
    }else{
        for (Cast cast : cacheCastsList) {
            dtoList.add(CastConverter.convert(cast));
        }
    }

    return dtoList;
}

1 个答案:

答案 0 :(得分:0)

默认情况下,memcache没有使用read cota。 但是,如果您使用内存缓存中的数据来识别数据存储区中的其他数据,则使用cota。

您是否可以在memcache查看器中看到执行“刷新缓存”后第二次重新加载主页的次数是否增加?

如果在第二次加载主页后你的Miss计数增加,你的代码可能会有错误的实现。