Dan*_*Dan 10 python google-app-engine app-engine-ndb
我正在使用带有线程安全模式的python 2.7的NDB.
我知道查询具有NDB的实体不使用本地缓存或内存缓存,而是直接访问数据存储区,而不是通过密钥名称获取.(如果这个前提不正确,问题的其余部分可能是多余的.)
因此,一个好的范例是仅使用keys_only = True进行查询,然后执行get_multi以获取完整的实体?
好处将是keys_only =真查询比keys_only =假快得多,get_multi可能只是打的memcache&致电get_multi您的实体现在都保存在情况下,你需要再次进行查询内存缓存.
缺点是您现在有一个RPC查询调用+ get_multi调用,我认为您可以在一个get_multi中调用实体的方式有限,因此您的有效查询大小可能会受到限制.
你怎么看?我们应该只使用keys_only = True查询然后执行get_multi吗?是否存在某些最小和最大查询大小限制,使得此技术不仅仅像执行返回完整实体的查询一样有效?
这已被广泛研究.请参阅http://code.google.com/p/appengine-ndb-experiment/issues/detail?id=118
归档时间: |
|
查看次数: |
2121 次 |
最近记录: |