• ホーム
ホーム
高防衛 CDN静的・動的加速とエッジ洗浄高防衛 IP 転送L4 転送で業務 IP を保護SDK ゲームシールドクライアント SDK でゲーム向け防御高防衛サーバー専用リソースと高可用性詳しく見る
ゲーム向けソリューション低遅延と保護の一体運用金融向けソリューションコンプライアンスと洗浄ライブ配信ソリューションエッジでの送受信ブロックチェーンソリューションWeb3 インフラ保護ソリューションを見る
技術ドキュメントAPI と接続ガイドヘルプセンターFAQ とチケットブログ・ニュース製品情報とベストプラクティスグローバルスピードテストマルチノード計測タグクラウドサイト全体をトピックで俯瞰ドキュメントへ
会社概要ミッションとビジョン採用情報求人と内推パートナーチャネルとエコシステムお問い合わせ営業とサポートお問い合わせ

ドキュメント

  • 技術 ぶんしょ 文書 です
  • ベストプラクティス
ドキュメント/Cache Configuration/キャッシュポリシー

キャッシュポリシー

速盾网络 チーム
ドキュメント

タグ

  • 缓存

このページ

目次なし

共有

𝕏fin

エンタープライズ CDN と加速、AI 監視最適化、リアルタイム DDoS/CC 防御。世界数万社が信頼する高速・安全・信頼のコンテンツ配信と DDoS 対策サービス。

製品

  • 高防衛 CDN
  • 高防衛 IP 転送
  • SDK ゲームシールド
  • 高防衛サーバー

ソリューション

  • ゲーム向けソリューション
  • 金融向けソリューション
  • ライブ配信ソリューション
  • ブロックチェーンソリューション

リソース

  • 技術ドキュメント
  • ヘルプセンター
  • ブログ・ニュース
  • グローバルスピードテスト

会社情報

  • 会社概要
  • 採用情報
  • パートナー
  • お問い合わせ

© 2026-2028 sudun.com 保留所有权利

  • プライバシー
  • 利用規約
  • Cookie

キャッシュポリシーは、ドメイン全体に適用できる高レベルのキャッシュ戦略を定義します。ポリシーは複数のキャッシュ設定を再利用可能な構成にまとめることで、キャッシュ動作を一貫して管理しやすくします。

キャッシュポリシーの理解

キャッシュポリシーは、以下を指定する名前付き構成です:

  • キャッシュするコンテンツ
  • キャッシュ期間
  • キャッシュキーの扱い方
  • 圧縮と最適化設定
code
キャッシュポリシー「静的アセット」
├── TTL: 30日
├── ブラウザTTL: 1日
├── キャッシュキー: URL + Accept-Encoding
├── 圧縮: Brotli, Gzip
└── 古いキャッシュを提供: 有効

デフォルトポリシー

Sudunには一般的なユースケース向けの事前設定済みポリシーが含まれています:

標準ポリシー

一般的なウェブサイト向けのバランスの取れたキャッシュ:

設定値
エッジTTLオリジンヘッダーを尊重
ブラウザTTLオリジンヘッダーを尊重
キャッシュキーURL + クエリ文字列
圧縮自動
古いキャッシュを提供エラー時のみ

積極的ポリシー

静的コンテンツ向けの最大限のキャッシュ:

設定値
エッジTTL30日
ブラウザTTL7日
キャッシュキーURLのみ
圧縮常に
古いキャッシュを提供常に

動的ポリシー

動的コンテンツ向けの最小限のキャッシュ:

設定値
エッジTTLなし
ブラウザTTLなし
キャッシュキーN/A
圧縮オンザフライ
古いキャッシュを提供なし

カスタムポリシーの作成

ダッシュボード設定

  1. ドメイン → ドメインを選択
  2. キャッシング → ポリシーに移動
  3. ポリシー作成をクリック
  4. ポリシー設定を構成
  5. 保存をクリック

ポリシー構成

json
{
  "name": "my-static-policy",
  "description": "静的アセット用ポリシー",
  "settings": {
    "cache": {
      "edge_ttl": 2592000,
      "browser_ttl": 86400,
      "respect_origin": false
    },
    "cache_key": {
      "include_query_string": false,
      "include_headers": ["Accept-Encoding"]
    },
    "optimization": {
      "compression": "auto",
      "minify": false
    },
    "stale": {
      "serve_while_revalidate": true,
      "serve_on_error": true,
      "max_stale_age": 86400
    }
  }
}

ポリシー設定

TTL設定

キャッシュ期間を制御:

設定説明範囲
edge_ttlエッジでのキャッシュ時間0 - 31536000 (1年)
browser_ttlブラウザでのキャッシュ時間0 - 31536000
respect_originオリジンヘッダーを尊重true/false
min_ttl最小キャッシュ時間0 - 86400
max_ttl最大キャッシュ時間0 - 31536000

TTL階層:

code
respect_origin = trueの場合:
  TTL = オリジンCache-Control(min/max範囲内)

respect_origin = falseの場合:
  TTL = edge_ttl設定

キャッシュキー設定

キャッシュされたコンテンツの一意性を定義:

json
{
  "cache_key": {
    "include_query_string": true,
    "query_string_whitelist": ["page", "sort"],
    "query_string_blacklist": ["utm_*", "fbclid"],
    "include_headers": ["Accept-Encoding", "Accept-Language"],
    "include_cookies": [],
    "include_device_type": false,
    "include_geo": false
  }
}

キャッシュキーオプション:

オプション効果
include_query_stringクエリパラメータでキャッシュを変動
query_string_whitelistこれらのパラメータのみがキャッシュに影響
query_string_blacklistこれらのパラメータを無視
include_headersリクエストヘッダーでキャッシュを変動
include_cookiesクッキーでキャッシュを変動
include_device_typeモバイル/デスクトップキャッシュを分離
include_geo国別にキャッシュを分離

圧縮設定

コンテンツ圧縮を構成:

json
{
  "compression": {
    "mode": "auto",
    "algorithms": ["br", "gzip", "deflate"],
    "min_size": 1024,
    "types": ["text/*", "application/json", "application/javascript"]
  }
}

圧縮モード:

モード動作
autoコンテンツタイプとサイズに基づいて圧縮
always常に対象コンテンツを圧縮
never圧縮を無効化
originオリジン圧縮のみを使用

古いコンテンツの設定

古いコンテンツの動作を設定:

json
{
  "stale": {
    "serve_while_revalidate": true,
    "serve_on_error": true,
    "max_stale_age": 86400,
    "error_codes": [500, 502, 503, 504]
  }
}

ポリシーの適用

パスへの適用

特定のパスにポリシーを割り当て:

json
{
  "policy_assignments": [
    {
      "policy": "aggressive-static",
      "match": {
        "path": "/static/*"
      }
    },
    {
      "policy": "dynamic",
      "match": {
        "path": "/api/*"
      }
    }
  ]
}

ファイルタイプへの適用

ファイル拡張子でポリシーを割り当て:

json
{
  "policy": "aggressive-static",
  "match": {
    "file_extensions": ["css", "js", "jpg", "png", "woff2"]
  }
}

コンテンツタイプへの適用

レスポンスのコンテンツタイプでポリシーを割り当て:

json
{
  "policy": "standard",
  "match": {
    "content_type": ["text/html", "application/xhtml+xml"]
  }
}

ポリシーの継承

ポリシーは他のポリシーから継承可能:

json
{
  "name": "my-images-policy",
  "inherits": "aggressive-static",
  "overrides": {
    "cache": {
      "browser_ttl": 604800
    },
    "optimization": {
      "image_optimization": true
    }
  }
}

継承チェーン:

code
ベースポリシー: aggressive-static
└── my-images-policy (継承 + browser_ttlを上書き)
    └── my-hero-images (継承 + 画像品質を上書き)

ポリシーのバージョン管理

バージョン管理

ポリシーの変更を経時的に追跡:

json
{
  "name": "static-assets",
  "version": 3,
  "created_at": "2024-01-01T00:00:00Z",
  "updated_at": "2024-01-15T10:30:00Z",
  "changelog": [
    {
      "version": 3,
      "date": "2024-01-15",
      "changes": "ブラウザTTLを7日に延長"
    },
    {
      "version": 2,
      "date": "2024-01-10",
      "changes": "Brotli圧縮を追加"
    }
  ]
}

ロールバック

以前のポリシーバージョンに戻す:

  1. ポリシー → ポリシーを選択
  2. バージョン履歴をクリック
  3. 復元するバージョンを選択
  4. ロールバックをクリック

ポリシーのテスト

プレビューモード

デプロイ前にポリシー変更をテスト:

json
{
  "preview": true,
  "test_urls": [
    "https://example.com/test-page",
    "https://example.com/static/test.css"
  ]
}

A/Bテスト

ポリシーの効果をテスト:

json
{
  "ab_test": {
    "enabled": true,
    "variants": [
      {
        "name": "control",
        "policy": "current-policy",
        "weight": 50
      },
      {
        "name": "experiment",
        "policy": "new-policy",
        "weight": 50
      }
    ],
    "metrics": ["cache_hit_ratio", "origin_requests", "ttfb"]
  }
}

一般的なポリシーパターン

Eコマース商品ページ

json
{
  "name": "product-pages",
  "settings": {
    "cache": {
      "edge_ttl": 3600,
      "browser_ttl": 300
    },
    "cache_key": {
      "include_query_string": true,
      "query_string_whitelist": ["variant", "color", "size"]
    },
    "stale": {
      "serve_while_revalidate": true,
      "max_stale_age": 3600
    }
  }
}

ニュース/ブログ記事

json
{
  "name": "blog-content",
  "settings": {
    "cache": {
      "edge_ttl": 600,
      "browser_ttl": 60
    },
    "stale": {
      "serve_while_revalidate": true,
      "serve_on_error": true
    }
  }
}

APIレスポンス

json
{
  "name": "api-cacheable",
  "settings": {
    "cache": {
      "edge_ttl": 60,
      "browser_ttl": 0,
      "respect_origin": true
    },
    "cache_key": {
      "include_query_string": true,
      "include_headers": ["Authorization"]
    }
  }
}

バージョン管理されたアセット

json
{
  "name": "immutable-assets",
  "settings": {
    "cache": {
      "edge_ttl": 31536000,
      "browser_ttl": 31536000,
      "immutable": true
    },
    "cache_key": {
      "include_query_string": false
    }
  }
}

ポリシー分析

ポリシーのパフォーマンス指標を表示:

指標説明
キャッシュヒット率キャッシュから提供されたリクエストの割合
オリジンオフロードオリジンリクエストの削減率
帯域幅節約量キャッシュから提供されたデータ量
平均TTLコンテンツがキャッシュに保持される平均時間

ダッシュボード指標

  1. 分析 → キャッシュパフォーマンス に移動
  2. ポリシー名でフィルタリング
  3. 時間経過に伴う指標を表示

トラブルシューティング

ポリシーが適用されない場合

  1. ポリシー割り当てルールを確認
  2. パス/拡張子の一致を検証
  3. ポリシー優先順位を確認
  4. オリジン応答ヘッダーを確認

予期しないキャッシュ動作

  1. オリジンヘッダーがポリシーを上書きしていないか確認
  2. キャッシュキー設定を検証
  3. curlで応答ヘッダーを確認
  4. 競合するルールがないか確認

キャッシュヒット率が低い場合

  1. キャッシュキー設定を確認(詳細すぎる?)
  2. TTL値を確認(短すぎる?)
  3. クエリ文字列のバリエーションを分析
  4. デバイス/地域分割の影響を考慮

APIリファレンス

ポリシー作成

bash
curl -X POST https://api.Sudun.com/v1/domains/example.com/policies \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-policy",
    "settings": {
      "cache": {"edge_ttl": 86400},
      "compression": {"mode": "auto"}
    }
  }'

ポリシー更新

bash
curl -X PUT https://api.Sudun.com/v1/domains/example.com/policies/my-policy \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "settings": {
      "cache": {"edge_ttl": 172800}
    }
  }'

ポリシー一覧取得

bash
curl -X GET https://api.Sudun.com/v1/domains/example.com/policies \
  -H "Authorization: Bearer YOUR_API_KEY"

キャッシュポリシーについてお困りですか? support@Sudun.com までお問い合わせください