> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wandb.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Mise en cache des réponses du serveur

Weave propose la mise en cache des réponses du serveur pour améliorer les performances lors de requêtes répétées ou lorsque la bande passante réseau est limitée. Cet article explique dans quels cas la mise en cache est utile, comment l’activer, quelles requêtes Weave met en cache et comment le cache utilise l’espace disque, afin que vous puissiez décider si vous souhaitez l’activer et prévoir son empreinte de stockage. La fonctionnalité est désactivée par défaut.

<div id="when-to-use-caching">
  ## Quand utiliser la mise en cache
</div>

La mise en cache des réponses du serveur est utile dans les cas suivants :

* Vous exécutez fréquemment les mêmes requêtes.
* Votre bande passante réseau est limitée.
* Vous travaillez dans un environnement à forte latence.
* Vous développez hors ligne et souhaitez mettre en cache les réponses pour les réutiliser plus tard.

Cette fonctionnalité est utile lorsque vous exécutez des évaluations répétées sur un jeu de données, car Weave peut mettre ce jeu de données en cache entre deux exécutions.

<div id="enable-caching">
  ## Activer la mise en cache
</div>

Pour activer la mise en cache, définissez les variables d'environnement suivantes. `WEAVE_USE_SERVER_CACHE` active le cache, et les autres variables vous permettent d'en ajuster la taille et l'emplacement.

```bash theme={null}
# Activer la mise en cache des réponses du serveur
export WEAVE_USE_SERVER_CACHE=true

# Définir la limite de taille du cache (la valeur par défaut est 1 Go)
export WEAVE_SERVER_CACHE_SIZE_LIMIT=1000000000

# Définir le répertoire du cache (facultatif, par défaut le répertoire temporaire)
export WEAVE_SERVER_CACHE_DIR=/path/to/cache
```

<div id="caching-behavior">
  ## Fonctionnement de la mise en cache
</div>

Cette section décrit quelles requêtes adressées au serveur Weave met en cache, afin que vous puissiez prévoir quelles opérations bénéficient de la mise en cache. Techniquement, cette fonctionnalité met en cache les requêtes idempotentes envoyées au serveur. Plus précisément, les éléments suivants sont mis en cache :

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

<div id="cache-size-and-storage-details">
  ## Taille du cache et détails de stockage
</div>

Utilisez cette section pour estimer l’espace disque requis par le cache, afin de dimensionner `WEAVE_SERVER_CACHE_SIZE_LIMIT` pour votre environnement. `WEAVE_SERVER_CACHE_SIZE_LIMIT` (en octets) définit la taille du cache. L’espace disque réellement utilisé se compose de trois éléments :

* Un fichier de somme de contrôle constant de 32 Ko.
* Un fichier de journal à écriture anticipée (WAL) pouvant atteindre \~4 Mo par client en cours d’exécution. Weave supprime automatiquement le fichier WAL lorsque le programme se termine.
* Le fichier principal de la base de données, dont la taille est d’au moins 32 Ko et d’au plus `WEAVE_SERVER_CACHE_SIZE_LIMIT`.

Espace disque total utilisé :

* Pendant l’exécution >= 32 Ko + \~4 Mo + taille du cache.
* Après l’arrêt >= 32 Ko + taille du cache.

Par exemple, avec une limite de cache de 5 Mo :

* Pendant l’exécution : \~9 Mo maximum.
* Après l’arrêt : \~5 Mo maximum.

***

<Badge stroke shape="pill" color="orange" size="md">[Performances](/fr/support/weave/tags/performance)</Badge>
