亲爱的所有
目前我正在使用ndb API来存储一些统计信息。不幸的是,这成了我费用的主要来源。我认为如果我只将它们保存到memcache,它应该便宜得多。数据是否因缓存过期而丢失并不重要。
阅读本手册后,我假设_use_datastore类变量可用于配置此行为:
class StaticModel(ndb.Model):
_use_datastore = False
userid = ndb.StringProperty()
created_at = ndb.DateTimeProperty(auto_now_add=True)
我是否知道上述陈述是否是正确的解决方案?
干杯!
答案 0 :(得分:5)
我认为有三种方法可以达到你想要的效果。
首先是根据你的问题在NDB模型类上设置_use_datastore = False。
第二种方法是每当你输入/获取/删除一个StaticModel时传递use_datastore = False。一个例子是:
model = StaticModel(userid="foo")
key = model.put(use_datastore=False)
n = key.get(use_datastore=False)
第三个选项是在NDB上下文中设置数据存储策略,该策略对任何StaticModel键都返回false。类似的东西:
context.set_datastore_policy(lambda key: True if key.kind() == 'StaticModel' else False)