我不斷開發我的rails應用程序並每隔1或2周大概部署一次。我有很多內容需要緩存一段時間。我切換到使用rails file_store進行緩存,因爲其他緩存選項將緩存存儲在內存中,當我必須重新啓動乘客時,緩存將消失。我遇到的問題是,每次部署更新時,即使它是基於文件的,我仍然會釋放緩存。有沒有一種方法可以防止在爲rails應用程序部署更新時清除緩存?我正在使用capistrano進行部署,並使用git進行版本控制。Rails file_store緩存在重新部署時清除
回答
在共享目錄下創建一個目錄來存放緩存。在您的deploy.rb中,創建一個符號鏈接到舊緩存目錄以前的新目錄。例如,這裏是我如何符號鏈接的日誌目錄的簡化版本:
namespace :deploy do
desc "Re-link log files"
task :link_logs, :roles => :app do
run "ln -nfs '#{shared_path}/log' '#{current_path}/log'"
end
end
# Activate post-deploy re-linking
after 'deploy:symlink', 'deploy:link_logs'
現在,每當我部署,我的日誌是整個展開時連續並存儲在: * /路徑/到/ DEPLOY_DIR /共享/日誌*
這聽起來像我所需要的。不幸的是我無法弄清楚如何在共享目錄中創建一個目錄。我想這讓我聽起來像一個全新的。如果我在共享服務器上創建一個目錄並嘗試這個,我得到這個error.ln:創建符號鏈接'{#current_path}/cache':沒有這樣的文件或目錄 –
#對於current_path應該在開頭的左側括號如:#{current_path}/log – JDutil
謝謝。它現在很好用。 –
- 1. 部署Django Heroku清除緩存
- 2. 部署後Symfony清除緩存組件
- 3. React + Firebase部署需要緩存清除
- 4. 部署後清除模板緩存
- 5. 如何在部署新版本時清空緩存?
- 6. Python重新模塊的緩存清除
- 7. 重新部署SSIS包 - 緩存?
- 8. Webistrano - 如何在部署後清除全局HTML緩存
- 9. 在部署期間使用PowerShell清除Azure Redis緩存
- 10. Heroku部署在「清理bundler緩存」時超時。
- 11. 何時清除OpenAFS緩存?
- 12. 當重新啓動活動時從字體緩存清除
- 13. 清除緩存
- 14. 緩存清除
- 15. Django緩存 - 清除緩存
- 16. java清除內部內存緩存
- 17. 如何在部署時清除memcachier?
- 18. 部署後清除用戶的瀏覽器緩存symfony2
- 19. Javascript - 在部署中加載新緩存
- 20. 重新生成Rails緩存
- 21. 如何部署新的地圖圖塊,強制用戶緩存清除?
- 22. 自動部署,刷新(清除緩存),並重新加載您的代碼爲web開發人員
- 23. jQuery在註銷時清除緩存
- 24. NSURLConnection緩存清除和重新連接問題
- 25. 清除Rails緩存的一部分,而不是所有的Rails.cache.clear
- 26. 在重新部署Wildfly後從Infinispan緩存中讀取ClassCastException 8.2
- 27. 在重新部署webapp之後出現404錯誤(緩存)
- 28. Jenkins部署Symfony3 Web應用程序時的權限(清除緩存)
- 29. 部署時的「熱身緩存」
- 30. 清除緩存?在c#mvc
每次部署應用程序時清理緩存是安全的:如果您的應用程序的舊版本是緩存頁面,該怎麼辦? – apneadiving
如果我需要過期一組緩存頁面,那麼我將使用rails控制檯手動過期。這樣,不受更新影響的頁面仍然被緩存。 –