1

我正在使用 jsp 在 html 表中显示来自数据存储类型的数据。我正在尝试使用以下代码从本地 Google 应用引擎数据存储中删除所有记录:

Query gaeQuery = new Query("Book");
PreparedQuery pq = datastore.prepare(gaeQuery);
List<Entity> list = pq.asList(FetchOptions.Builder.withDefaults());
for(Entity item : list){
    datastore.delete(item.getKey());
}

我可以通过此代码删除所有记录。运行此代码后,我尝试刷新页面以查看一个空表。但是仍然有一些记录在第二页刷新后消失了。

我认为这是因为陈旧的数据保留在内存缓存中。我尝试使用谷歌搜索,但在删除所有同类记录后不久就找不到任何解决方案来清除内存缓存。

我正在寻找一种方法来刷新/清除内存缓存。

4

1 回答 1

1

您可以使用该clearAll()功能。

AsyncMemcacheService memcache = MemcacheServiceFactory.getAsyncMemcacheService();
...
  memcache.clearAll()

https://developers.google.com/appengine/docs/java/javadoc/com/google/appengine/api/memcache/AsyncMemcacheService#clearAll()https://developers.google.com/appengine/docs/java/ javadoc/com/google/appengine/api/memcache/MemcacheService#clearAll()了解详情

于 2013-11-05T05:12:56.330 回答