0

我正在编写一个小型 appengine 应用程序,我想开始使用 Datastore。
我的应用程序有一些用户,每个用户都是一个复杂的 JAVA 类。用户可能会在它们之间交换一些“点”对象,因此我需要数据可用且快速。

我的问题很笼统:
我应该如何处理数据缓存?
将数据完全存储在数据存储中并在每次调用中获取数据在运行时听起来很慢。
另一方面,将数据保存在静态 JAVA 类中听起来很棘手,因为服务器时不时会重置并且数据会被擦除。
如果我有一个主循环,就像在常规控制台应用程序中一样,我可能会在一天中的预定义时间每天保存两次到三次数据。
我应该如何管理我的代码,它会不时地将状态保存在数据存储中,并且这种方式不会丢失任何数据。

4

2 回答 2

0

如果写操作的数量少于读操作,最好尝试使用 memcache 模块进行“直写缓存”。 https://developers.google.com/appengine/docs/java/memcache/

基本上,直写缓存的工作方式如下:

  • 对于每个写操作,程序更新数据存储,然后将数据备份到内存缓存
  • 对于每次读取操作,程序都会尝试从 memcache 中读取。如果它可以找到所需的数据,则返回,否则它将从数据存储中获取数据并将结果备份到内存缓存。
于 2012-08-21T03:22:40.383 回答
0

正如@lucemia 所指出的,您应该使用内存缓存。

如果您使用 objectify,您可以以声明方式设置缓存,而无需编写和缓存处理代码。

于 2012-08-22T09:13:52.477 回答