2011-08-12 5 views

risposta

0

Si potrebbe notificare a tutti i server di spazzare la cache (ad esempio tramite un URL speciale o il database, nel qual caso è necessario un lavoro che verifica il db su base regolare e invalidare la cache) o si invalida la cache su base regolare tramite un cronjob (suggerire di utilizzare whenever).

Modifica: un'altra soluzione sarebbe quella di condividere la directory pubblica su tutte le macchine tramite NFS o qualcosa del genere. In questo modo, ogni server può invalidare la cache per tutte le macchine.

0

Partendo dal presupposto che i server delle app possano accedere a un archivio file comune, è possibile modificare la posizione in cui i binari memorizzano la cache. In questo modo, quando si esaurisce la cache si rifletterà su tutti i server di app. Nella vostra configurazione è sufficiente aggiungere:

config.cache_store = :file_store, "/path/to/cache/directory"

Questo è probabilmente il modo più semplice. Esistono anche altri metodi come un server memcached.

Maggiori informazioni qui: http://guides.rubyonrails.org/caching_with_rails.html#activesupport-cache-filestore

Problemi correlati