2011-10-06 51 views
14

我已經安裝了django-redis-cache和redis-py。我已經關注了Django的緩存文檔。據我所知,下面的設置是我所需要的。但我怎麼知道它是否正常工作?如何測試我的redis緩存是否正常工作?

settings.py

CACHES = { 
     'default': { 
      'BACKEND': 'redis_cache.RedisCache', 
      'LOCATION': '<host>:<port>', 
      'OPTIONS': { 
       'DB': mydb, 
       'PASSWORD': 'mydbspasswd', 
       'PARSER_CLASS': 'redis.connection.HiredisParser' 
      }, 
     }, 
    } 

...

MIDDLEWARE_CLASSES = (
     'django.middleware.cache.UpdateCacheMiddleware', 
     ...[the rest of my middleware]... 
     'django.middleware.cache.FetchFromCacheMiddleware', 
    ) 

    CACHE_MIDDLEWARE_ALIAS = 'default' 
    CACHE_MIDDLEWARE_SECONDS = (60 * 60) 
    CACHE_MIDDLEWARE_KEY_PREFIX = '' 
+2

你在問什麼,你不能通過提出問題找出答案? –

+1

我如何測試並判斷它是否有效?我是一個總緩存newb! –

+1

我剛剛改變了我的問題的措辭。我想這確實是一個不同的問題,但它更好地表達了我需要弄清楚的東西! –

回答

39

Django的沒有工作還沒有,但我檢查默認的態度,如果一些組件實際寫在開發過程中的Redis:

首先,我刷新存儲在redis中的所有密鑰以刪除舊的緩存條目(從不在生產中執行此操作,因爲這會從redis中刪除所有數據):

> redis-cli FLUSHALL 

然後激活緩存在我的應用程序,看看Redis的做什麼:

> redis-cli MONITOR 

你應該輸入您看到發送到Redis的每一個命令交互式會話。

重新載入您的頁面並在您的終端上您應該看到一些存儲緩存數據的SET *操作。

重新加載,如果你的緩存工作,你應該看到一些GET *操作檢索緩存的數據。

注意:使用此方法,您可以檢查您的緩存是否實際使用。你無法看到的是,如果你的緩存有助於加速你的應用程序。爲此,您必須按照評論中的建議進行性能測試。

+0

酷@Max。聽起來很完美。將檢查出來。我會確定回來並檢查它! –

7

您可以安裝django-debug-toolbar,查看啓用緩存時查詢數量是否減少。雖然我不認爲這是提出的問題的最佳解決方案,但我仍然認爲您希望這樣做,因爲您可以使用此設置輕鬆查明代價高昂的查詢,然後向它們添加適當的緩存。

相關問題