GAE/P:高效迁移到NDB

2024-06-28 20:44:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我终于要从db升级到ndb(这比我预期的要头痛得多……)。你知道吗

我用了很多ReferenceProperty,我把它们转换成了KeyProperty。现在,我使用ReferenceProperty的每个地方都需要添加一个显式get,因为它以前是自动完成的。你知道吗

我的问题是我是否应该重新构造代码以使其更有效。我有许多使用KeyProperty的方法,我需要做一个显式的get()。我想知道是否应该更改这些方法,以便将实体传递给它们,而不是使用KeyPropertyget()。你知道吗

ndb的自动memcaching是否足够好,我不需要重新构造?或者我应该重新构造代码以避免重复获取同一个实体?你知道吗

我们并没有看到巨大的低效率。但是对于一个httpget/POST,我可能会得到相同的实体3-5次。你知道吗


Tags: 方法代码实体dbget地方post头痛
1条回答
网友
1楼 · 发布于 2024-06-28 20:44:17

在您的情况下,In-Context Cache将接管并为您保存db调用:

The in-context cache is fast; this cache lives in memory. When an NDB function writes to the Datastore, it also writes to the in-context cache. When an NDB function reads an entity, it checks the in-context cache first. If the entity is found there, no Datastore interaction takes place.

每个请求将获得一个新的上下文。你知道吗

相关问题 更多 >