【问题标题】:Deleting all records from app engine datastore and flush memcache从应用引擎数据存储中删除所有记录并刷新内存缓存
【发布时间】:2013-08-29 08:28:55
【问题描述】:

我正在使用 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());
}

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

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

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

【问题讨论】:

    标签: google-app-engine jsp google-cloud-datastore gql


    【解决方案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() 了解详情

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-10
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多