Java 通过缓存加速重复操作
缓存如何与应用程序引擎协同工作?仅添加Java 通过缓存加速重复操作,java,google-app-engine,objectify,Java,Google App Engine,Objectify,缓存如何与应用程序引擎协同工作?仅添加@Cached注释就足够了吗: @Cached public class MyEntity { @Id Long id; ... } 但是,从Objectify文档: Objectify在v3.1之前的全局缓存支持在争用中遇到同步问题。不要将其用于需要事务完整性的实体。强烈建议您对所有缓存值应用过期期限 这是否意味着,如果我有一个代码,下面有这种形式,我不应该使用它 DAOT.repeatInTransaction(new Transact
@Cached
注释就足够了吗:
@Cached
public class MyEntity {
@Id Long id;
...
}
但是,从Objectify文档:
Objectify在v3.1之前的全局缓存支持在争用中遇到同步问题。不要将其用于需要事务完整性的实体。强烈建议您对所有缓存值应用过期期限
这是否意味着,如果我有一个代码,下面有这种形式,我不应该使用它
DAOT.repeatInTransaction(new Transactable() {
@Override
public void run(DAOT daot)
{
Counter count = daot.ofy().find(Counter.class, COUNTER_ID);
count.increment();
daot.ofy().put(count);
}
});
Objectify尽最大努力使其全局缓存支持: 3.1中的缓存已从头重写,以提供与数据存储的近乎事务一致性 例如,如果您的请求或任务正好赶上截止日期限制,则有可能: 缓存几乎是事务性的。在正常操作下,缓存不会与数据存储不同步,即使在严重争用的情况下也是如此。 例外情况是在30秒(任务为10米)硬截止日期时出现死线异常。如果谷歌在缓存更新发生之前终止了你的进程,我们将无能为力
Objectify尽最大努力使其全局缓存支持: 3.1中的缓存已从头重写,以提供与数据存储的近乎事务一致性 例如,如果您的请求或任务正好赶上截止日期限制,则有可能: 缓存几乎是事务性的。在正常操作下,缓存不会与数据存储不同步,即使在严重争用的情况下也是如此。 例外情况是在30秒(任务为10米)硬截止日期时出现死线异常。如果谷歌在缓存更新发生之前终止了你的进程,我们将无能为力
所以问题在于谷歌的超时,也许这可以通过使用AppScale解决?那么问题在于谷歌的超时,也许这可以通过使用AppScale解决?