Sto tentando di memorizzare nella cache i risultati delle query sulla mia app django. Tuttavia, sembra che stia memorizzando nella cache l'intera app. Ho provato seguente logi:Come memorizzare nella cache il risultato della query in django?
def cacheView():
result = cache.get('key')
if result is None:
result = Model.objects.get(id=1)
cache.set('key', 'result')
io chiamo questo metodo quando utente effettua Tuttavia, se si tenta di effettuare il logout dopo il login, mi tiene sulla stessa pagina come se sto ancora collegato ho cercato di seguire.. la documentazione di Django sulla cache al http://docs.djangoproject.com/en/1.2/topics/cache/ ma senza successo.
Un'altra cosa che ho provato è che se si tenta di utilizzare il decoratore di cache appena sopra la vista come:
@cache_control(max_age=1000)
def cacheView():
...
lo fa dà un errore che dice "header di risposta non definito". Sono nuovo di Django e sicuro di aver perso qualcosa. Qualche idea?
ho sicuramente perso che sul manuale. Ora che so che memorizza nella cache il queryset, la mia prossima domanda sarebbe quale metodo di cache usa. Perché volevo archiviare questo in Memcache che ho configurato nel mio settings.py ma non sono sicuro che django prenderà quel metodo o userà la cache del database? – jindals
Per impostazione predefinita, django utilizza la memoria locale per memorizzare la cache. Se hai impostato un altro backend cache allora django lo userà. – bx2
Un'altra domanda: è necessario memorizzare questi dati per un tempo molto lungo? – bx2