2024-10-01 04:54:43 发布
网友
对于GAE数据存储中的所有数据,我有一个用于跟踪计数器/记录总数的模型(因为我们不能使用传统的SUM查询)。我想知道在每次插入/删除记录时递增这些全局计数值的最有效方法。这就是我目前正在做的:
counter = DBCounter.all().fetch(1) dbc = DBCounter(totalTopics=counter[0].totalTopics+1) dbc.put()
但这对我来说似乎太草率了。有什么更好的办法吗?在
你的方法有几个问题:
以下是一些替代方法(从最不精确[最快]到最准确[和最慢]):
如果您需要在计数时保持可伸缩性,您应该查看joegregorio关于sharding counters和DocSavage的implementation的文章。在
AppEngineFan的优秀博客也有关于可伸缩的非分片计数器的信息,参见this one,它使用任务队列,并指向上一篇关于使用cron作业的文章。在
你的方法有几个问题:
以下是一些替代方法(从最不精确[最快]到最准确[和最慢]):
如果您需要在计数时保持可伸缩性,您应该查看joegregorio关于sharding counters和DocSavage的implementation的文章。在
AppEngineFan的优秀博客也有关于可伸缩的非分片计数器的信息,参见this one,它使用任务队列,并指向上一篇关于使用cron作业的文章。在
相关问题 更多 >
编程相关推荐