Ho il risultato di una query che è molto costosa. È l'unione di più tabelle e una mappa riduce il lavoro.Evitare l'allevamento di cani o la mandria tonante in uno scenario di scadenza memcached
Questo è memorizzato nella cache in memcached
per 15 minuti. Una volta scaduta la cache, le query vengono ovviamente eseguite e la cache viene nuovamente riscaldata.
Ma al momento della scadenza può verificarsi il problema thundering herd problem
.
Un modo per risolvere questo problema, quello che faccio ora è eseguire un'operazione pianificata che calcia al 14 ° minuto. Ma in qualche modo questo mi sembra molto sub ottimale.
Un altro approccio che mi piace è il meccanismo proxy_cache_use_stale updating;
di nginx.
Il server web/macchina continua a fornire la cache non aggiornata mentre un thread inizia la data di scadenza e aggiorna la cache.
Qualcuno ha applicato questo scenario allo memcached
sebbene comprenda che questa è una strategia lato client?
Se ne beneficiano, utilizzo Django
.
So che lei ha chiesto questo 3 anni fa. Sono curioso, come sei finito a usare? – Seperman