Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过缓存加速重复操作_Java_Google App Engine_Objectify - Fatal编程技术网

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解决?