Buduję aplikację linii poleceń za pomocą ActiveRecord 3.0 (bez szyn). Jak wyczyścić pamięć podręczną zapytań obsługiwaną przez ActiveRecord?Czyszczenie pamięci podręcznej ActiveRecord
18
A
Odpowiedz
2
Wystarczy popatrzeć na metodzie clear_query_cache
w http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/QueryCache.html
23
do pierwszego zbliżenia:
ActiveRecord::Base.connection.query_cache.clear
0
Często gdy widzisz buforowanie zapytań do bazy danych, Twój db robi buforowania, nie ActiveRecord, co oznacza, musisz wyczyścić pamięć podręczną i bufory na poziomie db, a nie na poziomie ActiveRecord.
Na przykład, aby wyczyścić pamięć podręczną i bufory PostgreSy na Macu, zrobiłbyś sudo purge
, co zmusza pamięć podręczną dysku do opróżnienia i opróżnienia.
Aby wyczyścić pamięć podręczną i buforów postgres' w systemie Linux, należy zamknąć postgres, spadek bufory i podtrzymują znowu zacząć postgres:
service postgresql stop
sync
echo 3 > /proc/sys/vm/drop_caches
service postgresql start
Dalsze czytanie:
Powiązane problemy
- 1. Czyszczenie pamięci podręcznej obrazów Picasso
- 2. Czyszczenie pamięci podręcznej zależności Grails
- 3. Czyszczenie pamięci podręcznej zapytań w Symfony2/Doctrine
- 4. Co wyzwala czyszczenie pamięci podręcznej iOS 5.0?
- 5. Czyszczenie pamięci podręcznej Symfony dla innej aplikacji
- 6. Czyszczenie pamięci podręcznej UIWebView w Swift
- 7. Uniwersalny program ładujący obrazy - ręczne czyszczenie pamięci podręcznej
- 8. Czyszczenie i aktualizowanie pamięci podręcznej aplikacji html5 za pośrednictwem javascript
- 9. Usługa pamięci podręcznej w pamięci podręcznej - Tridion 2011 SP1
- 10. Android: Strategia pamięci podręcznej obrazu i rozmiar pamięci podręcznej
- 11. Spring + Hibernate: Planowanie pamięci podręcznej Wykorzystanie pamięci podręcznej
- 12. Wygasanie pamięci podręcznej operacji z niestandardową ścieżką pamięci podręcznej
- 13. Uzyskiwanie dostępu do plików w pamięci podręcznej rozproszonej pamięci podręcznej
- 14. rozproszona technologia pamięci podręcznej
- 15. Wymuś usunięcie pamięci podręcznej
- 16. Maksymalny rozmiar pamięci podręcznej
- 17. Błędy pamięci podręcznej AppFabric
- 18. Jak mogę przetestować funkcję pamięci podręcznej rails
- 19. Ile bajtów kontroler pamięci podręcznej pobiera czas z pamięci głównej do pamięci podręcznej L2?
- 20. Zasady dotyczące pamięci podręcznej NSURLRequest
- 21. Objaśnienie domyślnego bufora/pamięci podręcznej
- 22. Czy file_get_contents używa pamięci podręcznej?
- 23. Capifony nie ociepli pamięci podręcznej
- 24. Chromecast: wyczyszczenie pamięci podręcznej odbiornika
- 25. Tabele statyczne pamięci podręcznej Mysql
- 26. Nagłówki buforowania pamięci podręcznej MVC4
- 27. Prosta implementacja pamięci podręcznej ASP.NET
- 28. Brakujące błędy w pamięci podręcznej?
- 29. Lista zawartości pamięci podręcznej lakierów?
- 30. Ponowne próby pamięci podręcznej IIS
Widziałem tę metodę. Jednak wywołanie go na MyModel.connection nie wydaje się mieć żadnego wpływu. Robię masowe wstawki i muszę wyczyścić pamięć podręczną zapytań, aby ActiveRecord mógł zobaczyć nowe rekordy, ale jak dotąd nie udało mi się. – clacke
Wygląda na to, że w Railsach 2 można było dotrzeć do pamięci podręcznej zapytań za pomocą 'ActiveRecord :: Base.query_cache.clear_query_cache', ale teraz to miejsce zniknęło. Jak już powiedziałem, robienie tego na połączeniu modelu nie działa. W końcu rozwiązałem to, przechodząc całkowicie za plecami AR również w przypadku zapytań po tej masowej wstawce. – clacke
@clacke możesz opublikować ostateczne rozwiązanie, które znalazłeś ("całkowicie za AR's back")? Czy pośrednio mówisz, że używasz SQL zamiast AR? – jvatic