簡體   English   中英

如何清除Rails操作緩存? (Rails.cache.clear不起作用)

[英]How can I clear rails action cache? (Rails.cache.clear isn't working)

如何在不重新啟動服務器的情況下清除Rails操作緩存?

我有一個腳本,可以用新數據更新Postgres數據庫。 腳本完成后,我想清除所有緩存的頁面。 但如果不完全重新啟動Heroku服務器,我似乎無法使其生效

我嘗試過但沒有成功:

  • Rails.cache.clear => ["/app/tmp/cache/bootsnap-compile-cache", "/app/tmp/cache/bootsnap-load-path-cache"]
  • rails tmp:cache:clear
  • rails assets:clean

沒有為生產顯式設置config.cache_store(我已經看到了有關默認使用哪個緩存的混合信息)

我已確保瀏覽器中沒有緩存(通過禁用開發工具中的緩存並繞過服務人員)

我正在將Heroku與ruby 2.5.3,rails 5.2.1.1和actionpack-action_caching 1.2.0一起使用

我怎么知道它沒有被緩存在數據庫層或片段緩存中?

我將日志記錄添加到僅在重新啟動后第一次訪問頁面時記錄的操作中

更新:我刪除了動作緩存,而是通過使用緊急加載更好地優化了SQL采石。

正如你可以看到這里 ,正在生成的默認緩存存儲是mem_cache_store。 因此,您應該能夠以不同的方式清除它,而無需重新啟動服務器。 Maciej Mensfeld撰寫了有關這些方式的博客 如果Rails.cache.clear沒有生效,我個人在緩存服務器中使用flush_all命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM