1

使用 App Engine 数据存储区存储实体时,应用的缓存技术是什么。

我的意思是,如果没有缓存,我们只是简单地做这样的事情:

DatastoreService _ds = DatastoreServiceFactory.getDatastoreService();
public void put(String key, String value){
    try {
       Entity e = new Entity(createKey(key)); 
       e.setProperty("key", key);
       e.setProperty("value", value); 
       _ds.put(e); 
    } catch (Exception e) {
       // handle exception
    }
}

那么缓存在哪里发挥作用呢?此外,在 get 方法期间缓存如何发挥作用。

更新:

  • 简单地说,我的问题是何时进行缓存。我的基本实现根本不做缓存,只是简单地放入数据存储区。
  • 应该在我的代码中的最低级别的 API 或高级 API 上实现缓存,在我的情况下,我拥有的最低级别的 API 就是这个,放入和获取数据存储区。
4

1 回答 1

0

在应用引擎中实际上有两种缓存需要考虑:用于 ds 实体的 memcache 和用于静态资产的边缘缓存。来自谷歌的这段视频很好地涵盖了具体的代码示例:

Google I/O 2012 - 优化您的 Google App Engine 应用程序

对于边缘缓存,您还可以查看 Brandon Wirtz 的这篇文章,因为文档有点薄: 启用边缘缓存

于 2013-05-14T16:13:59.430 回答