我正在使用ActiveRecord 3.0(不含导轨)构建命令行应用程序。如何清除ActiveRecord维护的查询缓存?清除ActiveRecord缓存
18
A
回答
2
23
看看方法clear_query_cache
对于第一近似:
ActiveRecord::Base.connection.query_cache.clear
0
通常情况下,当你看到数据库的查询缓存,你的数据库做缓存,而不是ActiveRecord的,这意味着您需要清除数据库级别的缓存和缓冲区,而不是ActiveRecord级别。
例如,要清除Postgres的缓存和Mac上的缓冲区,您将执行sudo purge
,这会强制刷新和清空磁盘缓存。
要清除Postgres的高速缓存和缓冲区在Linux上,你会停机的Postgres,删除缓存,并再次开始上升的Postgres的:
service postgresql stop
sync
echo 3 > /proc/sys/vm/drop_caches
service postgresql start
延伸阅读:
相关问题
- 1. 清除缓存
- 2. 缓存清除
- 3. Django缓存 - 清除缓存
- 4. 清除帧缓存
- 5. 清除memory_get_peak_usage缓存
- 6. 清除缓存,ObjectCacheManager
- 7. SILEX清除缓存
- 8. repcached清除缓存
- 9. 清除asp缓存?
- 10. 清除缓存7
- 11. 清除PhoneGap缓存
- 12. 清除ADF缓存
- 13. 清除PivotItem缓存
- 14. 清除UITableView缓存
- 15. window.location.reload清除缓存
- 16. 清除缓存7.3
- 17. 清除dom缓存
- 18. 清除bitbucket缓存
- 19. SDWebImage清除缓存
- 20. 清除NSURLConnection缓存
- 21. 清除SDWebImage缓存
- 22. Wampserver缓存清除
- 23. plone.app.caching和settings清除清除缓存
- 24. 查看并清除Postgres缓存/缓存?
- 25. SQL - 清除执行缓存
- 26. 清除Master.Page上的缓存
- 27. 清除缓存listview android
- 28. 手动清除缓存HHVM
- 29. 无法清除ASP.NET缓存
- 30. 如何清除Sprockets缓存?
我见过这个方法。但是,在MyModel.connection上调用它似乎没有任何作用。我正在做批量插入,并需要清除查询缓存,以便ActiveRecord可以看到新记录,但到目前为止我还没有成功。 – clacke 2011-10-20 18:11:46
看来,在Rails 2中,您可以通过“ActiveRecord :: Base.query_cache.clear_query_cache”访问查询缓存,但现在该位置消失了。就像我说的那样,在模型的连接上做这件事情是行不通的。最后,我解决了这个问题,完全落后于AR的背后,也是在质量插入之后的查询。 – clacke 2011-10-20 19:39:29
@ clacke你能发布你发现的最终解决方案吗(“完全落后于AR的背部”)?还是你间接地说你使用SQL而不是AR? – jvatic 2012-01-04 20:42:28