> ## 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`(바이트 단위)으로 제어됩니다. 실제로 사용되는 디스크 공간은 다음 세 가지 구성 요소로 이루어집니다.

1. 크기가 고정된 32KB 체크섬 파일
2. 실행 중인 클라이언트당 최대 약 4MB의 쓰기 전 로그(WAL) 파일(프로그램 종료 시 자동으로 삭제됨)
3. 최소 32KB, 최대 `WEAVE_SERVER_CACHE_SIZE_LIMIT`인 기본 데이터베이스 파일

총 디스크 사용량:

* 실행 중: >= 32KB + \~4MB + 캐시 크기
* 종료 후: >= 32KB + 캐시 크기

예를 들어 캐시 제한이 5MB인 경우:

* 실행 중: 최대 \~9MB
* 종료 후: 최대 \~5MB
