我想了解Django如何为我的视图设置键。我想知道是否有办法从Memcached中获取所有保存的密钥。有点像cache.all()
什么的。我一直在试着找到cache.has_key('test')
的密钥,但仍然无法弄清楚视图密钥是如何命名的。获取Django中缓存键的列表
更新:我需要这样做的原因是因为我需要手动删除缓存的部分,但不知道该键值Django是设置为我cache_view关键
我想了解Django如何为我的视图设置键。我想知道是否有办法从Memcached中获取所有保存的密钥。有点像cache.all()
什么的。我一直在试着找到cache.has_key('test')
的密钥,但仍然无法弄清楚视图密钥是如何命名的。获取Django中缓存键的列表
更新:我需要这样做的原因是因为我需要手动删除缓存的部分,但不知道该键值Django是设置为我cache_view关键
有一些奇怪的解决方法,你可以做的就是一切键,但是在Django内部的memcached中没有办法做到这一点。见this thread。
您可以使用memcached_stats从解释:https://github.com/dlrust/python-memcached-stats。该软件包可以从python环境中查看memcached密钥。
如前所述,无法获得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'
你能解释,为什么你需要这个?正如我在下面提到的答案,这在Django内部是不可能的。如果我们知道您的用例,我们可能会提供备用解决方案。 – 2012-01-28 20:33:53