1

我在 appengine 上运行我的 Django 站点。在数据存储中,有一个实体种类/表X,它每 24 小时仅更新一次。

X有大约 15K 个条目,每个条目的格式为(“长度 <20 的唯一字符串”,整数)。

在某些情况下,用户请求涉及从 中获取平均 200 个条目X,如果单独完成,这将非常昂贵。

在这种情况下我可以采用什么有效的方法?

以下是我想到的一些方法,但由于缺乏经验而对它们有一些疑问

  • 使用 db.get() 支持的批处理查询,其中可以将键列表作为参数传递,而 get() 将尝试一次性获取它们。这将大大减少时间,但仍然会有明显的开销和成本。另外,我正在使用 Django 模型,不知道如何将这两者联系起来。
  • 在每 24 小时发生一次的每个更新作业之后手动将整个数据库复制到内存中(例如将其存储在地图中)。这会很好地工作,也可以为我节省大量的数据存储读取,但我还有其他疑问。它会在实例之间保持持久性吗?我还需要注意哪些其他因素可能会干扰?这个或类似的东西似乎很适合我的情况。

以上只是我最初想到的。一定有我不知道/失踪的方式。

谢谢。

4

1 回答 1

1

你的数据总量非常小,看起来像一个字典。为什么不将它(此对象)保存为数据库或 blobstore 中的单个条目,您可以缓存此条目。

于 2013-05-27T14:10:13.640 回答