数据存储区按读取的实体数收费。
例如,经典的帖子和标签问题,我想查找帖子列表的标签名称,
class Post(ndb.Model):
title = ndb.StringProperty()
tag_ids = ndb.KeyProperty(repeated=True)
class Tag(ndb.Model):
name = ndb.StringProperty()
@ndb.tasklet
def callback(post):
tags = yield Tag.get_multi(tag_id for tag_id in post.tag_ids)
raise ndb.Return(tags)
qry = Post.query()
output = qry.map(callback, limit=20)
post01有tag01,tag02,post02有tag02,tag03。在这种情况下,tag02在同一批次中被查询两次,tag02计数为2次读取还是1次读取?
提前致谢。
答案 0 :(得分:1)
您不会因为从memcache中读取实体而收取费用,但您已经接受了 自己关心将实体放入缓存并从缓存中读取。 我认为当您使用复杂的数据模型时,这可能变得非常具有挑战性。
我正在运行一个只有几百个实体的小应用程序 用户读取数据我把所有实体放在缓存中,所有其他用户都会得到 来自缓存的数据。
对于我的其他应用程序,我使用Objectify(我正在使用Java),它支持放置实体 在Memcache中(https://github.com/objectify/objectify)。也许类似Python的东西存在。