【发布时间】:2014-07-20 01:36:04
【问题描述】:
我用 gae 建立了一个博客,并在 memcache 中存储了许多项目,包括分页条目。
存储这些页面的关键是使用查询对象和页面索引:
@property
def _query_id(self):
if not hasattr(self, '__query_id'):
hsh = hashlib.md5()
hsh.update(repr(self.query))
self.__query_id = hsh.hexdigest()
return self.__query_id
def _get_cache_key(self, page):
return '%s%s' % (self._query_id, page)
它将显示在管理控制台中,例如:NDB9:xxxxxx,
除此之外,我存储了以sitename-obj开头的任何其他项目。
在某些情况下,我只想清除所有分页缓存,但我不知道如何。
我想知道是否有办法通过以NDB9开头的键名删除memcache?
是的,我找到了这样的功能,
delete_multi(keys, seconds=0, key_prefix='', namespace=None)
但似乎key_prefix 只是添加到第一个参数中的每个key 中,我只想通过key_prefix 删除memcache。
【问题讨论】:
-
不确定是否可以按开始名称删除键,但可以看到 memcached 标记使某些缓存无效
标签: python google-app-engine memcached