功能介紹
緩存key是一個文件緩存在邊緣節點上時的唯一標識,緩存文件和緩存key是一對一的關系。通常默認情況下,緩存key為客戶端請求的原始URL(帶參數)。
通過自定義緩存key,可以將原始URL形式不同但實際指向同一個文件的請求,緩存為同一份,從而提升緩存命中率,降低回源量。
適用場景
如果客戶端請求不同URL時,實際指向同一份緩存文件,則可以通過自定義緩存key功能來實現將其在邊緣節點上映射為同一份文件,避免出現被緩存成不同文件而導致回源率高的問題。
例如:部分客戶會在請求URL中設置防盜鏈串,可能在請求參數中,也可能在URL某一級目錄中,假設請求1為://www.daliqc.cn/xxxxx/test/a.mp4;請求2為://www.daliqc.cn/yyyyy/test/a.mp4;由于請求URL不同,邊緣節點默認會視為請求不同文件而緩存成多個不同mp4文件,但實際其一級目錄均為防盜鏈串,二者為同一文件內容。此時可設置緩存key為://www.daliqc.cn/test/a.mp4,即對緩存uri部分做自定義設置,從而達到共用同一份緩存的目的。
注意事項
- 【緩存配置】默認開啟去問號緩存,開啟后,如果客戶的請求URL中含有多個參數值,例如請求1為://www.daliqc.cn/a.mp4?a=1,請求2為://www.daliqc.cn/a.mp4?a=2;則將這兩個請求的緩存key統一為://www.daliqc.cn/a.mp4,以達到共用同一份緩存文件,降低回源率的效果。如您期望的自定義緩存key通過去問號緩存即可成功設置,無需配置自定義緩存參數。
- 自定義緩存key與【緩存配置】去問號緩存同時開啟情況下,自定義緩存key優先級更高。
- 自定義緩存key一旦設置后,一般不建議輕易變動;如果您配置自定義緩存key生效后又再次變更,會導致原有的緩存失效,產生大量回源。
- 自定義緩存key需開啟【靜態加速】才可配置,未開啟【靜態加速】則全部文件不緩存,則無需配置緩存key。
- 緩存key僅針對邊緣節點緩存key生效,不影響節點回源,如果設置了特定的緩存URI或緩存參數,例如保留或忽略全部或特定參數,節點回源時是否對URI進行改寫,以及是否攜帶對應參數,取決于“回源URI改寫”和“回源參數改寫”功能的配置情況。
- 當前緩存URI和緩存參數可自助配置,如需設置緩存協議及緩存host,請通過提交工單給天翼云客服,由其人工操作開啟。
配置說明
緩存參數
- 登錄。
- 進入【安全與加速工作臺】-【CDN加速配置】,點擊目標域名。
- 選擇“靜態配置-緩存參數”單擊“編輯配置”。
- 單擊添加,根據您的需求,配置需要的緩存參數。
配置參數說明:
| 參數名 | 配置值 | 說明 |
|---|---|---|
| 類型 | 后綴名/目錄/首頁/全部文件/全路徑文件 | 需要配置的文件類型。 |
| 內容 | 指定類型的具體內容 | 類型選擇后綴名、目錄、全路徑文件時,需配置具體內容;例如類型為后綴名時,需在內容處指明具體的文件后綴;如類型為目錄時,需在內容處指明具體的目錄內容。 |
| 忽略參數 | 不忽略/全部忽略/保留指定參數/忽略指定參數 | 緩存參數配置類型。如選擇不忽略,則為帶參數緩存;如選擇全部忽略,則為去參數緩存;如為保留指定參數,則僅攜帶指定參數緩存;如為忽略指定參數,則為去指定參數后緩存。 |
| 優先級 | 數字 | 緩存配置的優先級;存在多條緩存參數設置時,相同文件類型及內容,執行優先級高的緩存規則。 |
配置頁面:

點擊“添加規則”則彈出添加緩存參數:

緩存URI
- 登錄。
- 進入【安全與加速工作臺】-【CDN加速配置】,點擊目標域名。
- 選擇“靜態配置-緩存URI”單擊“編輯配置”。
- 單擊添加,根據您的需求,配置需要的緩存參數。
配置參數說明:
| 參數名 | 配置值 | 說明 |
|---|---|---|
| 待改寫path | 需改寫的URI | 以/開頭的URI,不含//頭及域名、?及參數。支持正則表達式,如^/test$。 |
| 目標path | 改寫后URI | 以/開頭的URI,不含//頭及域名、?及參數。支持正則表達式,常用$1、$2來捕獲待改寫path中圓括號內的字符串。 |
配置頁面:
配置示例
- 保留指定參數緩存
| 參數名 | 參數值 |
|---|---|
| 類型 | 后綴名 |
| 內容 | html |
| 忽略參數 | 保留指定參數 |
| 指定參數 | a=$arg_a |
結果說明 :保留a參數進行緩存。
適用場景:
用戶訪問URL形式為://www.daliqc.cn/a/a.html?a=1&c=2&d=3。
如果訪問//www.daliqc.cn/a/a.html?a=1&c=2&d=3和//www.daliqc.cn/a/a.html?a=1&c=4&d=5時,源站將返回同一文件內容;
且訪問//www.daliqc.cn/a/a.html?a=1&c=2&d=3和//www.daliqc.cn/a/a.html?a=2&c=4&d=5時,源站將返回不同文件內容。
此時可配置保留指定參數a進行緩存。配置生效后,//www.daliqc.cn/a/a.html?a=1&c=2&d=3和//www.daliqc.cn/a/a.html?a=1&c=4&d=5請求內容,都將緩存為//www.daliqc.cn/a/a.html?a=1。
注意該場景適用于源站僅針對特定參數a返回不同文件內容。如源站除針對參數a返回不同內容外,針對其他參數(例如參數b)也返回不同內容,則此時需要同時保留參數a和參數b,否則會造成緩存錯亂,響應非預期文件內容。
- 忽略指定參數緩存
| 參數名 |
參數值 |
|---|---|
| 類型 |
后綴名 |
| 內容 | html |
| 忽略參數 | 忽略指定參數 |
| 指定參數 | d |
結果說明 :忽略特定參數d緩存。
適用場景:
用戶訪問URL形式為://www.daliqc.cn/a/a.html?b=1&c=2&d=3;且有可能后期隨時增加新的參數,后期新增加的參數均需要保留對應參數緩存,且存在如下情況:
訪問//www.daliqc.cn/a/a.html?b=1&c=2&d=3和//www.daliqc.cn/a/a.html?b=1&c=2&d=5時,源站返回為同一文件。
訪問//www.daliqc.cn/a/a.html?b=1&c=2&d=3和//www.daliqc.cn/a/a.html?b=2&c=2&d=5時,源站返回為不同文件。
訪問//www.daliqc.cn/a/a.html?b=1&c=2&d=3和//www.daliqc.cn/a/a.html?b=3&c=2&d=3時,源站返回為不同文件。
此時可在全站上配置忽略參數d緩存。配置生效后,節點將會把訪問//www.daliqc.cn/a/a.html?b=1&c=2&d=3和//www.daliqc.cn/a/a.html?b=1&c=2&d=5請求內容,均緩存為//www.daliqc.cn/a/a.html?b=1&c=2。
- 緩存URI改寫
| 參數名 | 參數值 |
|---|---|
| 待改寫path | ^/[^/]+(.+) |
| 目標path | $1 |
結果說明 :去掉第一級目錄緩存。
原始請求:/a/b/c.mp4。改寫后的緩存URI:/b/c.mp4。