在app引擎memcache上实现get_multi

时间:2013-01-18 14:05:51

标签: google-app-engine memcached python-memcached

我想知道是否有人可以提供帮助。我正在使用本文here

中概述的blobcache模块

这很好但我希望通过使用get_multi()来加速从memcache中检索 键功能,但我当前的代码在使用get_multi

时找不到键

我目前的获取def看起来像这样

def get(key):
  chunk_keys = memcache.get(key)
  if chunk_keys is None:
    return None
  chunk_keys= ",".join(chunk_keys)
  str(chunk_keys)
  chunk = memcache.get_multi(chunk_keys)
  if chunk is None:
  return None
try:
  return chunk
except Exception:
  return None

根据文档我的理解是你只需要通过一串键来get_multi。

然而他现在还没有归还任何东西。

有人可以指出我在这里做错了吗?

1 个答案:

答案 0 :(得分:2)

传递一个字符串列表(键),而不是带有逗号的单个字符串。

get_multi(keys, key_prefix='', namespace=None, for_cas=False)
  

=要查找的键列表。密钥可以是字符串或元组   (hash_value,string),其中hash_value,通常用于分片   在一个memcache实例上,被忽略,作为Google App Engine   透明地处理分片。

Multi Get Documentation