2012-04-29 81 views
0

我正在使用Django緩存來緩存某些頁面。我使用@vary_on_cookie裝飾器來允許登錄用戶緩存特定的用戶詳細信息。不過,我需要清除特定頁面的特定用戶的緩存。從基於cookie的Django緩存中刪除特定值

即我需要一種方法來生成django中間件緩存生成密鑰的相同密鑰,使用cookie和路徑等。然後我可以使用低級緩存來自行清除特定條目。

我該如何去做這件事?

回答

1

您正在尋找位於django.middleware.cache功能:

>>> from django.middleware.cache import get_cache_key as gk 
>>> help(gk) 

將返回以下:

get_cache_key(request, key_prefix=None, method='GET', cache=None) 
    Returns a cache key based on the request path and query. It can be used 
    in the request phase because it pulls the list of headers to take into 
    account from the global path registry and uses those to build a cache key 
    to check against. 

記住,你可以通過設置變量定義自己的鍵生成機制手動使用KEY_FUNCTION

HTH!

+0

謝謝我認爲這就是我一直在尋找的。 – oracal 2012-04-29 13:37:49