回答

2

有在CloudFront的以及外部提供了一些選項,你可以做,以減少緩存時間

  • 每個部署後運行無效(這需要大約15分鐘,但它確保緩存被清理每個部署後,也可以使用CloudFront CLI
  • 減少高速緩存TTL值(因爲,它也將減少了緩存時間,降低了性能)
  • 對於每個部署,通過附加改變文件名不推薦進行自動化一個隨機值並且還從應用中引用新值。例如/js/test_23434.js(您可以使用Gulp或任何自動腳本自動執行此操作)
  • 對於每個部署,請在文件路徑url中包含一個查詢參數,例如/js/test.js?v=23434,並啓用轉發CloudFront行爲配置中的查詢參數
+0

如何運行invalidation命令? – byteC0de

+0

您可以使用aws cloudfront create-invalidation --distribution-id S11A16G5KZMEQD \ --paths /index.html /error.html或者您可以使用通配符代替每個文件,例如--paths/* – Ashan

+0

您也可以使用通過導航到失效部分的Cloudfront Web控制檯 – Ashan

4

幾個選項:

    你的資產
  1. 您可以設置較低的TTL(在CloudFront的設置)。
  2. 如果你想緩存你的對象更長的時間,和資產(html/css/js)不會頻繁更改,那麼您可能需要使用CloudFront控制檯手動清除這些資產。您也可以使用AWS控制檯通過AWS CLI手動執行此操作。
  3. 最乾淨的設計是把每個資產的版本號,如js/css文件..使用像BURP的工具,同時建立你的角度應用程序..東西app.1235.js ..每當你的資產改變;版本發生變化並自動將其加載新鮮。
+0

其中是CloudFront設置選項 – byteC0de