2012-01-28 90 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'