当我使用Java库(com.google.cloud.datastore.Datastore)从Google数据存储区中读取实体时,get(key)是在调用该方法时是整个实体及其所有属性从数据库中提取,还是在引用时分别加载了该实体的各个属性,或者首次访问实体属性时会拉动整个实体吗?
Datastore datastore = DatastoreOptions.getDefaultInstance().getService();
Entity entity = datastore.get(key); //Is the entire entity and its properties loaded here?
entity.getString("name"); //or is the entity/property loaded upon access?
另外,如果在我获得实体的同时正在更新实体,则保证我收到的实体是一致的。(即是否可以接收部分写入的实体,其中某些属性是来自写入的更新值,而某些是尚未反映更新的旧值?)
问题来源:Stack Overflow
让我们检查从接口com.google.cloud.datastore.DatastoreReader继承的官方图书馆文档Datastore.get(key)方法,并返回给定密钥的Entity。实体是一个持久数据对象,您在此处具有从com.google.cloud.datastore.BaseEntity类继承的getString(String name)方法,该方法以字符串形式返回属性值,例如过滤所需的属性。根据前述和OOP概念,“实体实体= datastore.get(key);” 返回具有所有属性的整个实体,并将其保存在“实体”变量中。
关于数据一致性数据存储区查询可以在两个一致性级别中提供强大的结果,最终,您需要在一致性和速度之间取得平衡,具体取决于应用程序的需求。我好心推荐阅读1,2文档以获得它是如何工作在数据存储更多的澄清。
回答来源:Stack Overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。