Domanda

Uso Django con jqGrid e caricamento le pagine tramite AJAX.A volte, le query sono molto complesse e il caricamento delle pagine è molto lento, poiché le pagine lontane sono molto più lente (il che è prevedibile, i risultati spesso superano i 100.000 oggetti).Ho pensato che il caching dei risultati risolverà il problema, aggiungendo un po 'di tempo al caricamento della prima pagina, ma poi accelerando fortemente il caricamento delle pagine successive.

Invece, ha reso il caricamento della prima pagina incredibilmente lento e anche le pagine successive richiedono molto tempo (11 secondi su un PC standard).Sto usando locmem cache backend. Qualche idea?Ho provato, per un confronto, a memorizzare i risultati nel dizionario globale ed è stato MOLTO meglio (le pagine successive richiedono solo 1 secondo), ma ho sentito che non è un modo sicuro.

Qualche idea?

È stato utile?

Soluzione

Potresti provare a riscaldare la cache.Questa operazione può essere eseguita manualmente o utilizzando un framework di accodamento come il sedano per fare in modo che la memorizzazione nella cache delle pagine o dei set di query successivi avvenga in background dopo il caricamento di un'altra pagina.

Dai un'occhiata a johnny-cache, che esegue il caching trasparente dei set di query.Questo potrebbe (ripeto, potrebbe ) risolvere tutti i tuoi problemi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top