如何异步处理GAE数据存储区争用?

时间:2013-01-10 18:22:29

标签: java google-app-engine caching google-cloud-datastore

为了避免GAE数据存储区写入中的高延迟(峰值),我想实现一个后写缓存(使用Java低级API)。这意味着数据将同步写入内存缓存,然后异步写入数据存储区,以便请求可以快速返回。

然而,这意味着我需要以某种方式需要处理由数据存储争用引起的异常(例如,以异步方式启动重试)。更准确地说,我需要能够在请求返回后对争用发生做出反应。我怎样才能做到这一点?使用任务队列进行异步写入处理不是一种选择,因为据说推送到队列的速度只比数据存储区写入快一点。

如果这是不可能的,那么实现后写缓存的好方法是什么?或者如何在数据丢失不是一种选择的情况下处理慢速写入。

1 个答案:

答案 0 :(得分:0)

Memcache是​​易变的,它可能随时刷新数据,因此这种方法非常不可靠。

最好使用Push Task Queue。通过DeferredTask助手类使用它。这是an example