2012-01-28 91 views
16

我想了解Django如何为我的视图设置键。我想知道是否有办法从Memcached中获取所有保存的密钥。有点像cache.all()什么的。我一直在试着找到cache.has_key('test')的密钥,但仍然无法弄清楚视图密钥是如何命名的。获取Django中缓存键的列表

更新:我需要这样做的原因是因为我需要手动删除缓存的部分,但不知道该键值Django是设置为我cache_view关键

+0

你能解释,为什么你需要这个?正如我在下面提到的答案,这在Django内部是不可能的。如果我们知道您的用例,我们可能会提供备用解决方案。 – 2012-01-28 20:33:53

回答

-1

有一些奇怪的解决方法,你可以做的就是一切键,但是在Django内部的memcached中没有办法做到这一点。见this thread

0

如前所述,无法获得django中所有缓存键的列表。如果您使用外部缓存(例如,memcached或数据库缓存),则可以直接检查外部缓存。

但是,如果你想知道如何在Django键转换为后端系统中使用的,Django的make_key()功能会做到这一点。

https://docs.djangoproject.com/en/1.8/topics/cache/#cache-key-transformation

>>> from django.core.cache import caches 
>>> caches['default'].make_key('test-key') 
u':1:test-key'