すべてのプロダクト
Search
ドキュメントセンター

CDN:キャッシュ関数

最終更新日:Apr 01, 2026

set_cache_ttl 関数は、パスまたは HTTP ステータスコードに基づいてキャッシュ対象リソースの生存時間(TTL)を設定します。

set_cache_ttl

構文

set_cache_ttl(type, ttl)

パラメーター

パラメーター説明
type文字キャッシュの種別。有効な値: pathcode
ttltypepath の場合)数値一致したリソースの TTL(秒単位)。
ttltypecode の場合)文字特定の HTTP ステータスコードに対する TTL 値。フォーマットは <code>=<seconds>,... です。例: '301=10,302=5'

戻り値

成功時は true を返し、失敗時は false を返します。

使用例

パスによる TTL の設定

type='path' を指定すると、URI パターンに一致するリソースに対して TTL を適用できます。ttl の値は、秒単位の数値です。

if eq(substr($uri, -4, -1), '.mp4') {
    set_cache_ttl('path', 5)    // .mp4 ファイルに一致:5 秒間キャッシュ
}
if match_re($uri, '^/201801/mp4/') {
    set_cache_ttl('path', 50)   // /201801/mp4/ で始まるパスに一致:50 秒間キャッシュ
}
if match_re($uri, '^/201802/flv/') {
    set_cache_ttl('path', 10)   // /201802/flv/ で始まるパスに一致:10 秒間キャッシュ
}

HTTP ステータスコードによる TTL の設定

type='code' を指定すると、特定の HTTP ステータスコードに対して TTL 値を割り当てられます。ttl の値は、<ステータスコード>=<秒数> の形式の文字列であり、複数のエントリはカンマで区切ります。

if match_re($uri, '^/image') {
    set_cache_ttl('code', '301=10,302=5')   // /image で始まる URI に対して:301 は 10 秒、302 は 5 秒間キャッシュ
}
ファイル名と URI に対して個別の TTL を設定します。