java - 在获取实体之前,实体计数不会更新

标签 java google-app-engine

我在 GAE 数据存储实验中发现了一些相当奇怪的东西。我使用的是 GAE SDK 1.7.5。 而且我不确定我的发现是否正确。

基本上,我发现将实体放入数据存储区并进行计数不会返回正确的值,直到执行数据存储区获取为止。

如果你想深入挖掘,这里是我之前的 SO 问题的实际代码:

Persistence strategies for High Replication environment (Google App Engine)

我也用类似的库尝试过:https://github.com/koher/Koherent-App-Engine-Library-for-Java

我也有同样的发现。任何人都可以帮我澄清我看到的这个问题吗?

最佳答案

我假设您在启用了最终一致性的本地开发服务器上获得了此结果?

由于数据存储的最终一致性行为,您无法获得正确的计数。事情就是这样。

在开发服务器上,像 get() 这样的一致操作将导致后续查询显示一致的结果。这与生产服务器的行为不太一样。

关于java - 在获取实体之前,实体计数不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15927951/

相关文章:

java - 测试ehcache手动配置的集群是否工作

java - 为什么java源文件需要包声明?

java - 比 Box 更高效的布局

python - 如何从 Google Cloud Datastore 检索实体

python - NDB key 与 get_by_id

java - Jena:如何添加带有数值的属性?

java - 隐式 super 构造函数 Seat() 未定义。必须显式调用另一个构造函数

google-app-engine - 非默认版本的 appspot.com 子域上的 SSL

python - google appengine 接收电子邮件错误

java - 从 GAE 到 Google+ 的 XMPP 回复不起作用