Ich baue eine Befehlszeilenanwendung mit ActiveRecord 3.0 (ohne Schienen). Wie lösche ich den Abfragecache, den ActiveRecord verwaltet?Cache ActiveRecord löschen
18
A
Antwort
2
Werfen Sie einen Blick auf die Methode clear_query_cache
in http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/QueryCache.html
23
In erster Näherung:
ActiveRecord::Base.connection.query_cache.clear
0
Oft, wenn Sie das Caching von Datenbankabfragen zu sehen, ist Ihr db das Caching zu tun, nicht Active, was bedeutet, Sie müssen den Cache und die Puffer auf der db-Ebene löschen, nicht auf der ActiveRecord-Ebene.
Um beispielsweise den Cache und die Puffer von Postgres auf dem Mac zu löschen, würden Sie sudo purge
ausführen, wodurch der Plattencache zwangsweise geleert und geleert wird.
Um Postgres' Cache und Puffer auf Linux zu löschen, würden Sie nach unten Postgres geschlossen, die Caches löschen und Postgres wieder starten zurück:
service postgresql stop
sync
echo 3 > /proc/sys/vm/drop_caches
service postgresql start
Weiterführende Literatur:
Verwandte Themen
- 1. Yii2 ActiveRecord Cache
- 2. Varnish Cache - Löschen/Löschen von Cache nur für Homepage
- 3. App-Cache programmgesteuert löschen?
- 4. cloudflare-Cache programmatisch löschen
- 5. Composer.phar Symfony Cache löschen
- 6. löschen Postbote Cache
- 7. Mod_pagespeed Cache löschen?
- 8. Android: Cache programmgesteuert löschen
- 9. IISExpress-Cache löschen
- 10. Ändern ActiveRecord Statement Cache Standard Rails
- 11. Ausgabe-Cache-Cache nicht mit Cache löschen mit varybyparam
- 12. So löschen/löschen Sie eine Cache-Variable
- 13. Gecko löschen Cache Geschichte & Cookies
- 14. Löschen von Picasso images cache
- 15. Git-SVN löschen auth-cache
- 16. Cache nach der Bereitstellung löschen
- 17. Erzwingen Ajax Anruf Cache löschen
- 18. wie Cache in gwt löschen?
- 19. Cache in ionischer Anwendung löschen?
- 20. Suchen und Löschen in ActiveRecord Array
- 21. Schienen Rack-Cache - wie manuell löschen Sie den gesamten Cache
- 22. Wie Verwenden von ActiveRecord Query Cache mit benutzerdefiniertem SQL
- 23. Wie Ghcis Funktion Ergebnis Cache löschen?
- 24. Cache des Browsers über die Befehlszeile löschen
- 25. Xamarin iOS löschen Cache von WKWebView
- 26. Löschen cacheDirectory Cache cordova Dateisystem ionic
- 27. Den Cache von UIWebView in Swift löschen
- 28. Programmatisch Cache auf Symfony 2 löschen
- 29. Laravel löschen Cache bekommen neuen Fehler
- 30. Löschen Sie System-Cache auf Android 6.0
Ich habe die Methode gesehen. Das Aufrufen von MyModel.connection scheint jedoch keine Auswirkung zu haben. Ich mache Masseneinfügungen und muss den Abfragecache löschen, damit ActiveRecord die neuen Datensätze sehen kann, aber bisher war ich nicht erfolgreich. – clacke
Es scheint, dass Sie in Rails 2 den Abfrage-Cache über 'ActiveRecord :: Base.query_cache.clear_query_cache' erreichen konnten, aber jetzt ist dieser Platz weg. Wie ich schon sagte, funktioniert es nicht auf der Verbindung des Modells. Endlich habe ich es gelöst, indem ich hinter die AR-Rückseite auch für die Abfragen, die dieser Masseneinfügung folgen, ganz zurück gegangen bin. – clacke
@clacke können Sie die endgültige Lösung posten, die Sie gefunden haben ("vollständig hinter ARs zurück")? Oder sagen Sie indirekt, dass Sie SQL anstelle von AR verwenden? – jvatic