【发布时间】:2013-05-21 23:59:24
【问题描述】:
我使用 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;
}
【问题讨论】:
-
(两年后 :) 首先您单独存储您的 castImages,然后再次存储整个列表。换句话说,您在 Memcache 中使用了两倍的空间。你知道事实吗?
“这就是你备份数据的方式吗?”
标签: google-app-engine gwt memcached google-cloud-datastore blob