如何使用 Google App Engine 中的 put() 将超过 500 个条目添加到数据存储区?

发布于 2024-08-04 05:26:34 字数 64 浏览 7 评论 0原文

我尝试通过几次调用 db.put() 在列表中添加批量数据。但还是偶尔会超时。

有人有一些建议吗?

I tried adding batches of data in a list with a couple of calls to db.put(). But it still timeouts occasionally.

Anyone have some tips?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

原来是傀儡 2024-08-11 05:26:34

如果遇到超时,请使用多个 put,并使用较小的批量大小(例如,将其减半)。不过,如果您在一个用户请求中添加 500 多个实体,那么您可能做错了什么。

Use multiple puts, and use smaller batch sizes (halving them, for example) if you encounter timeouts. If you're adding 500+ entities in one user request, though, you're probably doing something wrong, though.

氛圍 2024-08-11 05:26:34

Google 随 App Engine 提供的批量加载客户端 (bulkload_client 源)默认批量大小为 10,所以这告诉我你必须非常小心批量的大小。

我最近删除了数千个对象,发现最多可以传递给 db.delete() 的对象约为 400 个。但是,有时会超时,我会下降到 350 个。我不确定删除或放置是否有效不过更贵。

The bulkload client that Google provides with App Engine (bulkload_client source) defaults batch size to 10, so that tells me that you have to very careful about the size of your batches.

I was recently deleting several thousand objects and found that the most I could pass to db.delete() was around 400. But, sometimes that would timeout and I'd go down to 350. I'm not sure if deletes or puts are more expensive though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文