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());
}

このコードですべてのレコードを削除できます。このコードを実行した後、ページを更新して空のテーブルを表示しようとしました。ただし、2 回目のページ更新後に消えるレコードがいくつか残っています。

古いデータがmemcacheに残っているため、これが原因だと思います。グーグルを試しましたが、同じ種類のすべてのレコードを削除した直後に memcache をクリアする解決策を見つけることができませんでした。

memcache をフラッシュ/クリアする方法を探しています。

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 に答える