我一直在尋找一段時間,並看不到任何提及準備好的語句緩存在Rails中清除。在查詢緩存等每個請求之後它是否被清除?Rails 3.1中的每個請求都準備好了語句緩存嗎?
1
A
回答
-1
的ActiveRecord ::實現QueryCache緩存中的所有請求生成的SELECT查詢。如果發生任何INSERT或UPDATE,則清除緩存。
1
我一直在尋找這個,看起來既然準備好的語句緩存是在數據庫連接器中實現的,那麼數據庫連接器就是它應該被清除的地方。
查看activerecord-oracle_enhanced-adapter,在版本1.4.1中添加了'statement_limit'配置,默認配置爲250.適配器每當向預處理語句緩存中添加語句時,都會首先從預備語句中刪除預處理語句的緩存(只是一個數組),直到它的限制。
如果你想清除所有的預處理語句,你可以做,通過調用connection.clear_cache!
這僅僅是爲oracle_enhanced驅動程序。如果你使用postgresql或其他東西,請檢查該驅動程序的文檔。希望這可以幫助。
+0
謝謝。我真的不記得爲什麼我問這個問題,但它與Rails上的多租戶有關。我認爲他們已經修補了一些東西,以便查詢緩存不再是問題。 :) –
相關問題
- 1. PHP在準備好的語句中準備了語句
- 2. HikariCP準備了語句緩存
- 3. 準備好的語句JDBC JAVA請求與PHP類似嗎?
- 4. 緩存PDO準備語句
- 5. PostgreSQL準備的語句是由語句名緩存的嗎?
- 6. 瞭解PHP準備好的語句
- 7. 準備好語句,同時提取準備好的語句
- 8. 準備好了mysql語句和數組
- 9. 準備好的MySQLi語句
- 10. org.hibernate.session準備好的語句
- 11. MySQL準備好的語句
- 12. MySQLi準備好的語句?
- 13. javascript jquery裏面的語句準備好了嗎?
- 14. 如何知道是否準備好的語句被緩存?
- 15. Cassandra:清除準備好的語句緩存
- 16. 如何使用MySQL準備好的語句緩存?
- 17. PostgreSQL緩存準備好的語句(如Oracle)
- 18. Tomcat連接池與準備好的語句緩存
- 19. 如果您使用準備好的語句,請了解用於準備語句的用戶數據的驗證
- 20. 每個Twitter API請求都必須存在ACAccount請求嗎?
- 21. JDBC準備好的語句/參考準備在另一個準備好的語句
- 22. sylius準備好了嗎?
- 23. Caja準備好了嗎?
- 24. Hololens VR準備好了嗎?
- 25. 準備好的語句嵌套在另一個準備的語句
- 26. 已準備好的語句中的SQLITE_MISUSE
- 27. 準備了mysqli語句
- 28. mysql準備了語句IFNULL
- 29. SQLite3中的「預先準備好」語句?
- 30. 在事務中準備好的語句
我因爲'ActiveRecord :: QueryCache'不是在哪裏準備好的語句被緩存而降低了投票率。準備好的語句是專門爲該查詢編譯的語句,以便Rails不需要經過每次請求重新編譯它的昂貴任務。 QueryCache用於存儲查詢結果。 – Hengjie