緩衝到期時間指資源在CDN節點上緩衝的時間長度。CDN的預設緩衝時間最短為10秒,最長為3600秒,資源到期後會自動從CDN節點刪除,您向CDN節點發起的訪問請求會被判定為無效,請求會回來源站點擷取最新資源並緩衝到CDN節點。您可以根據業務需求,按目錄或檔案尾碼名配置靜態資源的緩衝到期時間。
背景信息
CDN節點上資源的緩衝策略如下圖所示。
來源站點是否設定了緩衝規則 | CDN控制台是否設定了緩衝規則 | CDN節點上的緩衝行為 |
---|---|---|
是,設定了cache-control:no-cache或cache-control:no-store | 不涉及 | 遵循來源站點的緩衝規則。即CDN節點不緩衝來源站點資源,使用者每次訪問都需要回源,無法實現加速。 |
是,未設定cache-control:no-cache或cache-control:no-store | 是 |
遵循CDN控制台設定的緩衝規則。CDN控制台上設定的緩衝規則的優先順序由高至低為:權重配置>檔案尾碼名>目錄。
说明
|
否 | 遵循來源站點的其他緩衝規則。
來源站點返回的資料的回應標頭中如果同時攜帶了cache-control和expires這兩個緩衝規則,cache-control的優先順序高於expires,即只有cache-control會實際生效。 |
|
否 | 是 |
遵循CDN控制台設定的緩衝規則。CDN控制台上設定的緩衝規則的優先順序由高至低為:權重配置>檔案尾碼名>目錄。
说明
|
否 | 遵循阿里雲CDN預設的緩衝規則。預設緩衝時間最短為10秒,最長為3600秒。預設緩衝規則如下:
|
適用情境
阿里雲CDN緩衝資源為觸發式,當使用者發起對某資源的訪問請求時,如果響應請求的CDN節點未緩衝該資源,則回使用者來源站點擷取資源,成功擷取到資源(2XX狀態代碼)後會將資源緩衝到CDN節點並返回給使用者。
配置緩衝到期時間的適用情境如下:
- 來源站點資源發生變化,CDN節點上緩衝的資源未同步更新,緩衝的仍是舊資源。
- 緩衝資源頻繁到期,需頻繁回來源站點擷取最新資源,導致快取命中率低。
- 資源載入慢。
注意事項
- 為了能準確找到更新前和更新後的來源站點內容,配置靜態資源的緩衝到期時間之前,建議您來源站點的內容不使用同名更新,而是以版本號碼的方式同步,即更新來源站點內容時採用不同的名稱。例如,採用 img-v1.0.jpg 、 img-v2.1.jpg 的方式命名。
- 設定的緩衝時間長短會導致回源流量不一樣,CDN節點回源擷取資源而產生的來源站點流量費用也有所不同,建議根據不同的業務需求設定緩衝時間長度。設定的緩衝時間過短,會導致CDN頻繁回源,從而增加來源站點的流量消耗。
- 緩衝在CDN節點上的資源,由於熱度低可能被提前從節點上刪除。
操作步驟
配置樣本
為加速網域名稱
example.aliyun.com
配置三條緩衝策略,緩衝策略1優先生效,緩衝策略1生效後將不再繼續匹配其他的緩衝策略。
- 緩衝策略1:檔案尾碼名為jpg和png的所有資源到期時間設定為1個月,權重設定為90。
- 緩衝策略2:目錄為 /www/dir/aaa 的到期時間設定為1個小時,權重設定為70。
- 緩衝策略3:完整路徑為 /www/dir/aaa/example.php 的到期時間設定為0s,權重設定為80。