我知道保留全局计数器在 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/