- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我将 NDB 与 python 2.7 一起使用,并开启了线程安全模式。
我知道使用 NDB 查询实体不使用本地缓存或内存缓存,而是直接进入数据存储,这与通过键名获取不同。 (如果这个前提不正确,剩下的问题可能是多余的。)
因此,一个好的范例是仅使用 keys_only=True 进行查询,然后执行 get_multi 以获得完整的实体吗?
好处是 keys_only=True 查询比 keys_only=False 快得多,get_multi 可能只命中内存缓存,通过调用 get_multi,您的实体现在保存在内存缓存中,以防您需要再次执行查询。
缺点是您现在有一个 RPC 查询调用 + get_multi 调用,我认为您可以在一个 get_multi 中调用的实体数量是有限的,因此您的有效查询大小可能会受到限制。
你怎么看?我们应该只使用 keys_only=True 查询然后执行 get_multi 吗?是否存在特定的最小和最大查询大小限制,使得此技术不如仅执行返回完整实体的查询有效?
最佳答案
关于python - 最好先按 keys_only=True 然后按 get_multi 查询还是只按完整查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11596869/
在official FAQ我阅读的 Memcached: “发送到 memcached 的所有单独命令都是绝对原子的。” 然而,当涉及到 get_multi 和 set_multi 时,我仍然不清楚。
我想使用ndb.get_multi(list_of_keys)来避免执行更昂贵的查询。如果我的理解是正确的,ndb.get_multi() 仅向您收取每个返回实体 1 次读取的费用,因此,如果您有 5
如何保留使用 memcache 的 get_multi() 函数获取的值的顺序?默认情况下,返回的顺序是随机的。谢谢。 最佳答案 Python 的 Memcache 库返回一个字典,而 python
在过去 48 小时左右,我的小型 python GAE 应用程序开始从 ndb.get_multi 调用中获取 AssertionErrors。 追加了完整的回溯,生产服务器上的 _BaseValue
我正在运行一个keys_only查询,它获取20个结果。 result_keys, cursor, more = ActivityIndex.query(cls.followers == key)\
我想从 Google Appengine ndb 获取一些数据。我有以下代码 keys = [] for field in self.request.arguments(): keys.app
使用 NDB,可以指定 projection对于查询,允许限制为匹配查询的实体检索的属性数量。 但是,我在文档中找不到任何关于如何在使用 ndb.get_multi() 时指定投影的信息,它总是获取完
在 App Engine (Python) 中使用 ndb.get_multi() 从 Memcache 获取多个键时,我发现性能非常差。 我正在获取约 500 个小对象,所有这些对象都在内存缓存中。
我将 NDB 与 python 2.7 一起使用,并开启了线程安全模式。 我知道使用 NDB 查询实体不使用本地缓存或内存缓存,而是直接进入数据存储,这与通过键名获取不同。 (如果这个前提不正确,剩下
是否有内置或规范的方法来按完成顺序使用 ndb.get_multi_async 调用的第一个和所有后续结果? 我希望,这说明了,它遵循以下原则: def yield_next(futures):
App Engine 的内存缓存服务提供了在一个 API 调用中获取多个 key 的能力 (get_multi(['1', '2'])),尽管这里的其他答案表明有内存缓存中没有硬性限制(我看到的示例在
我是一名优秀的程序员,十分优秀!