20得票1回答
Google应用引擎 NDB

最近发布了NDB,是否有理由继续使用旧的数据存储API? 我正在开发一个当前使用旧的数据存储API的应用程序,并在memcache中缓存对象。如果我转换到NDB,我的理解是可以删除自定义缓存,并仍然保持当前性能,这个想法正确吗? 此外,NDB是否以任何方式改变了分片计数器的需求?在NDB中...

9得票1回答
GAE/P: 使用API调用实现事务安全性

假设您使用一个事务来处理Stripe支付并更新用户实体: @ndb.transactional def process_payment(user_key, amount): user = user_key.get() user.stripe_payment(amount) #...

18得票1回答
如何在Google App Engine for python中删除NDB模型的所有实体?

我有一个ndb模型类:class Game(ndb.Model): gameID = ndb.IntegerProperty() gameName = ndb.StringProperty() 有没有一种快速删除数据库中存储的此类实体的方法?类似于Game.deletAll()...

10得票1回答
Google App Engine ndb中与modelname_set(反向引用属性)等效的内容

在Google App Engine's NDB中,是否有modelname_set(反向引用属性)的等效项? 在旧的数据库中,Model实体描述了反向引用属性: 反向引用属性的名称默认为modelname_set(使用小写字母表示模型类的名称,并在末尾添加“_set”),可以使用Ref...

10得票1回答
使用ndb中的get_by_id获取多个实体

在旧的db中,我可以调用Model.get_by_id([1, 2, 3])来获取一个实体列表。 Ndb的Model.get_by_id不支持将id列表作为参数。如何最好地复制旧功能? (注:该段文字是要求翻译的内容,已按要求进行翻译。)

14得票2回答
NDB与DB(在高复制数据存储上)的速度比较是什么?

从Python NDB概述中获取: 当应用程序读取实体时,该实体会被自动缓存;这为频繁读取的实体提供了快速(且低成本)的读取。 ... 写入数据的NDB函数(例如,put())在缓存失效后返回;应用阶段会以异步方式发生。 在观看Youtube视频Google I/O 2011:More 9...

7得票1回答
在本地环境中进行重定向后,我是否应该预期陈旧的结果?

当我向数据存储中心发布新实体时,我将页面重定向到一个新的URL,该URL列出了该组中的所有实体。当我进行重定向时,页面显示过期的结果,我必须重新加载才能看到数据存储中心中的新实体列表。 我知道有关最终一致性的内容。这就是为什么我看到旧的结果吗? 例如, 我的数据存储只有一个用户-用户1 ...

8得票3回答
Google ndb库中的内存泄漏问题

我认为ndb库存在内存泄漏问题,但我找不到具体位置。 是否有避免下面描述的问题的方法? 你对测试有更精确的想法来解决问题吗? 以下是我复现问题的步骤: 我创建了一个极简的Google App Engine应用程序,包含两个文件。 app.yaml: application: mya...

7得票1回答
如何在App Engine NDB中测试DateTimeProperty?

我正在尝试使用App Engine的NDB测试DateTimeProperty过滤器,但我已将其设置为auto_now? 在单元测试中有没有方法可以规避这个问题? 示例: class MyModel(ndb.Model) timestamp = ndb.DateTimePropert...

9得票2回答
使用ndb.KeyProperty如何引用同一模型?

我有一个简单的场景,其中有一个用户类,它具有名称、电子邮件和关注者属性。 class User(ndb.Model): name = ndb.StringProperty(required = True) search_name = ndb.StringProperty(re...