Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ストレージオプション

rudis-cmsは異なるコンテンツタイプに対応する複数のストレージバックエンドをサポートしています。

R2(オブジェクトストレージ)

画像などのバイナリファイル用のCloudflare R2。

storage:
  type: r2
  bucket: my-bucket
  prefix: images/posts
オプション必須説明
bucketはいR2バケット名
prefixいいえオブジェクトのキープレフィックス

オブジェクトはハッシュに基づくコンテンツアドレスキーで保存され、重複排除が保証されます。

KV(キーバリュー)

コンパイル済みMarkdownなどのテキストコンテンツ用のCloudflare KV。

storage:
  type: kv
  namespace: content-namespace-id
オプション必須説明
namespaceはいKV名前空間ID

Inline

コンテンツをデータベースに直接保存。

storage:
  type: inline

別途ストレージが不要な小さなコンテンツに最適。

Asset

直接配信される静的アセット用。

storage:
  type: asset
  prefix: static

ストレージポインター形式

データベースでは、ストレージ参照はポインター情報を含むJSONとして保存されます:

{
  "hash": "abc123...",
  "pointer": "r2://bucket/prefix/key",
  "content_type": "image/png",
  "size": 12345
}

ポインター形式はストレージタイプを示します:

  • r2://bucket/key - R2オブジェクト
  • kv://namespace/key - KVエントリ
  • asset://path - アセットファイル

重複排除

rudis-cmsはコンテンツハッシュ(BLAKE3)を使用してアップロードを重複排除します:

  1. アップロード前にファイルハッシュを計算
  2. 同じハッシュのオブジェクトが存在する場合、アップロードをスキップ
  3. 進捗表示では新規アップロードは⬆️、スキップは⏭️

すべてのオブジェクトを強制的に再アップロードするには-f / --forceフラグを使用します。