2011-10-06 9 views
14

Ho installato django-redis-cache e redis-py. Ho seguito i documenti di cache per Django. Per quanto ne so, le impostazioni di seguito sono tutto ciò di cui ho bisogno. Ma come faccio a sapere se funziona correttamente?Come posso verificare se la mia cache redis funziona?

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

Cosa stai chiedendo che non riesci a scoprirlo testandolo? –

+1

Come posso testare e dire se ha funzionato? Sono un newb del caching totale! –

+1

Ho appena cambiato la formulazione della mia domanda. Suppongo che faccia davvero una domanda diversa, ma è meglio articolare ciò di cui ho bisogno per capirlo! –

risposta

39

non ha funzionato con Django ancora, ma il mio approccio predefinita per verificare se qualche componente in realtà scrive Redis durante lo sviluppo:

Per prima cosa, svuota tutte le chiavi memorizzate in redis per rimuovere le vecchie voci della cache (non farlo mai in produzione poiché rimuove tutti i dati da redis):

> redis-cli FLUSHALL 

Poi attivare il caching nella mia richiesta, e vediamo cosa fa Redis:

> redis-cli MONITOR 

si deve inserire una sessione interattiva in cui si vede ogni comando inviato al Redis.

Ricaricare la pagina e sul terminale si dovrebbero vedere alcune operazioni SET * che memorizzano i dati della cache.

Ricarica di nuovo e se la cache funziona, dovresti vedere alcune operazioni GET * che recuperano i dati memorizzati nella cache.

Nota: con questo metodo è possibile verificare se la cache è effettivamente utilizzata. Quello che non puoi vedere è se la cache ti aiuta ad accelerare la tua applicazione. Per questo devi fare test di performance come suggerito nei commenti.

+0

Cool @Max. Sembra perfetto. Verificherò Ritornerò e controllerò quando confermerò! –

7

È possibile installare la barra degli strumenti django-debug e verificare se il numero di query diminuisce quando si abilita la memorizzazione nella cache. Anche se non penso che questa sia la soluzione migliore per la domanda posta, ritengo comunque che tu voglia farlo, poiché puoi facilmente individuare query costose utilizzando questa configurazione e aggiungere loro la cache appropriata.

Problemi correlati