java - 对对象类型(如用户)进行全局计数,最佳做法?

标签 java google-app-engine

我知道保留全局计数器在 App Engine 中是不受欢迎的。不过,我对获取一些统计数据很感兴趣,比如每 24 小时一次。例如,我想每 24 小时统计一次系统中 User 对象的数量。

那么我们该怎么做呢?我们是否只保留一组管理工具功能来执行以下操作:

SELECT FROM com.me.project.server.User;

看看返回列表的大小是多少?这有点令人失望,因为数据存储必须反序列化每个 User 实例才能创建返回列表,对吧?

我可以通过仅要求返回键来优化这一点,因此不必反序列化整个 User 对象。

话又说回来,# of users 的全局计数器可能会造成太多争用,因为我正在创建的服务可能不会每分钟有数百个注册。

我们应该怎么做呢?每天获取我的用户总数可能是一个非常典型的操作?

谢谢

最佳答案

您可以使用 datastore statistics API以确定还有多少用户对象。如果您有超过 1,000 个用户,这可能比使用游标更容易(也更快)。

关于java - 对对象类型(如用户)进行全局计数,最佳做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2683833/

相关文章:

java - 我们可以将csv文件写入S3而不在spring boot中在本地创建文件吗?

java - 循环时出现堆栈溢出错误

mysql - 将数据从 MySQL 迁移到 Google App Engine (Python) 数据存储

python - 谷歌应用引擎: Failing to Upload Data

python - Twisted 与 Google App Engine 在服务移动客户端方面的对比

python - 如何模拟_auto_now?

此方法的 Python 2.5 版本

java - 在 Web 应用程序中获取当前 URL

java - Java:执行Hadoop MapReduce存在一些问题

java - Firebase Java Query.equalTo() 不起作用