> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-locadex-parallel-t9n-main-cs60c8p4o6ik99tylxgp3.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# サーバー応答のキャッシュ

> 繰り返しのクエリや限られたネットワーク帯域幅でのパフォーマンスを向上させる Weave のサーバー応答キャッシュ

Weave は、繰り返しのクエリを実行する場合やネットワーク帯域幅が限られている場合のパフォーマンスを向上させるために、サーバー応答のキャッシュを提供します。現在、この機能はデフォルトで無効ですが、今後のリリースでデフォルトの動作になる予定です。

<div id="when-to-use-caching">
  ## キャッシュを使用するタイミング
</div>

サーバー応答のキャッシュは、特に次の場合に有効です。

* 同じクエリを頻繁に実行する場合。
* ネットワーク帯域幅が限られている場合。
* レイテンシーが高い環境で作業している場合。
* オフラインで開発しており、後で使用するために応答をキャッシュする場合。

この機能は、データセットに対して繰り返し評価を実行する際に特に便利です。Runs 間でデータセットをキャッシュできます。

<div id="how-to-enable-caching">
  ## キャッシュを有効にする
</div>

キャッシュを有効にするには、次の環境変数を設定します。

```bash theme={null}
# サーバー応答のキャッシュを有効化
export WEAVE_USE_SERVER_CACHE=true

# キャッシュサイズの上限を設定（デフォルトは 1GB）
export WEAVE_SERVER_CACHE_SIZE_LIMIT=1000000000

# キャッシュディレクトリを設定（省略可、デフォルトは一時ディレクトリ）
export WEAVE_SERVER_CACHE_DIR=/path/to/cache
```

<div id="caching-behavior">
  ## キャッシュの動作
</div>

この機能は、サーバーに対する冪等なリクエストをキャッシュします。具体的には、以下をキャッシュします。

* `obj_read`
* `table_query`
* `table_query_stats`
* `refs_read_batch`
* `file_content_read`

<div id="cache-size-and-storage-details">
  ## キャッシュサイズとストレージの詳細
</div>

キャッシュサイズは `WEAVE_SERVER_CACHE_SIZE_LIMIT` (バイト単位) で制御されます。実際に使用されるディスク容量は、次の 3 つの要素で構成されます。

1. 固定サイズの 32KB のチェックサムファイル
2. 実行中のクライアントごとに最大約 4MB のライトアヘッドログ (WAL) ファイル (プログラムの終了時に自動的に削除されます)
3. 最小 32KB、最大 `WEAVE_SERVER_CACHE_SIZE_LIMIT` のメインデータベースファイル

使用されるディスク容量の合計:

* 実行中: 32KB 以上 + 約 4MB + キャッシュサイズ
* 終了後: 32KB 以上 + キャッシュサイズ

たとえば、キャッシュ上限が 5MB の場合:

* 実行中: 最大約 9MB
* 終了後: 最大約 5MB
