google-app-engine - Objectify - 仅使用 key 测试对象是否存在?

标签 google-app-engine objectify

我想测试数据存储中是否存在对象。我知道它的 key 。我现在通过加载整个对象来执行此操作:

public boolean doesObjectExist(String knownFooId) {

    Key<Foo> key = Key.create(Foo.class, knownFooId);

    Foo foo = ofy().load().key(key).now();
    if (foo != null) {
        // yes it exists.
        return true;
    }

    return false;
}

这必须花费 1 次数据存储读取操作。有没有一种方法可以做到这一点而不必加载整个对象,这可能会更便宜?换句话说,有一种只需要 1 次“小”操作的方法吗?

谢谢

最佳答案

没有办法更便宜。

即使您只执行仅键查询,该查询也是 1 个读取操作 + 每个获取的键 1 个小操作。 (https://cloud.google.com/appengine/pricing#costs-for-datastore-calls)

继续进行按键获取,只需 1 次读取。

关于google-app-engine - Objectify - 仅使用 key 测试对象是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35758299/

相关文章:

java - 在 Google App Engine 上呈现有向图(类似于 graphviz)的库

java - 如何在 Java 版本的 Google App Engine 中动态更新 JSP 文件的内容?

java - com.googlecode.objectify.LoadException : timestamp out of range error

java - 如何查询列表是否包含某个值

google-app-engine - 在基于 Android-Studio 的项目中为 AppEngine 创建综合索引

java - 按 Objectify 中嵌入实体的 ID 进行过滤

python - Google App Engine URL 处理程序运行时出错

google-app-engine - GAE 任务队列 - 有没有办法延迟任务执行 X 秒

google-app-engine - 如何在 Google Cloud Platform 上安排 Cron 作业?

java - 为什么 QueryResultIterator#getCursor() 在 GAE/J 中返回 null