我想了解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