Sto costruendo un'applicazione a riga di comando utilizzando ActiveRecord 3.0 (senza guide). Come si cancella la cache delle query mantenuta da ActiveRecord?Svuotamento cache ActiveRecord
18
A
risposta
2
Dai un'occhiata alla metodo clear_query_cache
in http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/QueryCache.html
23
In prima approssimazione:
ActiveRecord::Base.connection.query_cache.clear
0
Spesso quando si vede la cache di query di database, il vostro db sta facendo il caching, non ActiveRecord, il che significa è necessario svuotare la cache e i buffer a livello di database, non a livello di ActiveRecord.
Ad esempio, per cancellare cache e buffer di Postgres su Mac, si dovrebbe fare sudo purge
, che costringe la cache del disco a essere svuotata e svuotata.
svuotare la cache e buffer Postgres' su Linux, si dovrebbe spegnere Postgres, cadere le cache, e iniziare a Postgres tornare di nuovo:
service postgresql stop
sync
echo 3 > /proc/sys/vm/drop_caches
service postgresql start
Ulteriori approfondimenti:
Problemi correlati
- 1. Yii2 ActiveRecord cache
- 2. activerecord cache condivisa in memoria
- 3. Modelli ActiveRecord memorizzati nella cache nelle attività rake?
- 4. Come disabilitare la registrazione della cache activerecord nelle guide
- 5. Come utilizzare ActiveRecord Query Cache con SQL personalizzato
- 6. Svuotamento un file con PHP
- 7. Svuotamento numeri denormalizzati a zero
- 8. Problema di svuotamento casella Combo
- 9. La creazione di una nuova discussione ha un effetto collaterale sullo svuotamento della cache?
- 10. Svuotamento selettivo della cache tra i server con bilanciamento del carico (ASP.Net)
- 11. Doctrine2 - Ottieni ID entità prima dello svuotamento
- 12. Problemi di svuotamento connessione AWS/ELB
- 13. ActiveRecord :: UnknownAttributeError?
- 14. ActiveRecord :: SubclassNotFound
- 15. ActiveRecord :: DangerousAttributeError
- 16. Ordine ActiveRecord per matrice esterna
- 17. Ottimizzazione e riduzione dello svuotamento della GPU - Android
- 18. Per quanto riguarda la transazione di ibernazione e lo svuotamento
- 19. Svuotamento e ricarica di una casella combinata combinata
- 20. Perché una query richiama uno svuotamento automatico in SQLAlchemy?
- 21. Esiste comunque lo svuotamento programmabile del buffer in log4net
- 22. SQL - Sottrai un valore di svuotamento dalle righe
- 23. Delayed_job non l'esecuzione del metodo eseguire, ma lo svuotamento della coda processi
- 24. Domanda cache cache SQL
- 25. ActiveRecord efficiente has_and_belongs_to_many query
- 26. Aggiorna risultato ActiveRecord
- 27. prestazioni di ActiveRecord SessionStore
- 28. activerecord find through association
- 29. Rspec Mocking: ActiveRecord :: AssociationTypeMismatch
- 30. Inserimento batch ActiveRecord (yii2)
Ho visto il metodo. Tuttavia, chiamarlo su MyModel.connection non sembra avere alcun effetto. Sto facendo inserimenti di massa e ho bisogno di cancellare la cache della query in modo che ActiveRecord possa vedere i nuovi record, ma finora non ho avuto successo. – clacke
Sembra che in Rails 2 sia possibile raggiungere la cache della query tramite 'ActiveRecord :: Base.query_cache.clear_query_cache', ma ora quel luogo è sparito. Come ho detto, farlo sulla connessione del modello non funziona. Alla fine l'ho risolto andando completamente dietro la schiena di AR anche per le domande successive all'inserto di massa. – clacke
@clacke puoi pubblicare la soluzione finale che hai trovato ("completamente dietro la parte posteriore di AR")? O stai dicendo indirettamente che usi SQL invece di AR? – jvatic