GAE ndb和查询配额限制

时间:2014-04-07 13:12:42

标签: python database google-app-engine

我有一个GAE应用程序,可以在ndb中存储数千个问题,然后随机检索一些并将它们作为测试呈现给用户

问题: - 我需要以随机顺序查询问题,以确保问题与测试不同 - GAE ndb查询似乎不接受RAND()操作,所以相反,我获取所有问题,随机返回列表,拼接并返回结果

问题:即使用户只需要10个问题,所有符合条件的问题都将被提取(可能是数千个),这意味着我将快速退出免费配额

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

一种解决方案是使用显式顺序整数ID存储每个问题。 要随机选择问题,请生成0到当前问题数之间的数字列表,然后致电ndb.get_multi以获取问题。

每次插入新问题时,棘手的部分是递增计数器,没有孔。 sharded counter tutorial可能会有所帮助。