# Utilisation du cache

## Utilisation du cache

Les informations sur l'utilisation du cache sont disponibles dans Configuration / Général / Système).

*9.2*

*9.2.1*

Si l'un des systèmes de cache APCu ou WinCache est présent sur le serveur, il sera automatiquement utilisé par GLPI. Le système est basé sur Symfony Cache.

Le cache permet d'améliorer les performances sur certaines opérations relativement lourdes, comme le chargement des traductions, ou le calcul des arbres d'entités.

Il existe deux caches distincts dans GLPI :

* Le cache base de données
* Le cache des traductions

Cette distinction permet d'éviter de stocker le cache des traductions sur un réseau, ce qui pourrait produire trop de requêtes sur le réseau et avoir, au final, un impact négatif.

Inversement, le cache base de données doit être sur le réseau en cas de plusieurs frontaux.

Afin de vous permettre d'affiner les réglages, ou d'utiliser un autre système de cache, une solution manuelle est proposée. Pour en bénéficier, ajoutez à la table `glpi_configs` une clé `cache_db` et/ou `cache_trans` pour le contexte `core` et adaptez la valeur en fonction de ce que vous souhaitez.

{% hint style="info" %}
Si l'objectif est de désactiver l'un de ces caches, créez la clé dans la table, mais laissez la valeur vide.
{% endhint %}

```json
{"adapter":"apcu"}
```

```json
{"adapter":"redis","options":{"server":{"host":"127.0.0.1"}}}
```

Référez-vous à la méthode `Config::getCache()` et à la [documentation Symfony Cache](https://symfony.com/doc/current/components/cache.md) pour plus d'informations.

{% hint style="warning" %}
Si vous installez plusieurs instances de GLPI sur le même serveur, le namespace du cache doit être unique par instance, ce qui n'était pas le cas dans GLPI avant la version 9.2.4.

Si vous avez spécifié votre propre namespace dans la configuration, assurez-vous qu'il soit unique sur chaque instance !

Si votre version de GLPI est antérieure à la 9.2.4, vous devrez ajouter le namespace dans la configuration du cache de chacune de vos instances.
{% endhint %}

## OPCache

OPCache stocke les fichiers PHP pré-compilés en mémoire, ce qui améliore les performances. La seule chose à faire est de l'installer sur votre instance PHP et de le configurer (la configuration par défaut devrait convenir dans la grande majorité des cas).

Cependant, sur des instances qui pourraient être fortement sollicitées, il peut être utile de ne pas inclure les fichiers de polices pour les PDF dans ce cache. En effet, ils occupent beaucoup de place, et le gain est relativement minime.

Afin d'exclure les fichiers de polices du cache, il suffit d'entrer leur chemin complet dans un fichier de blacklist pour opcache. Le chemin de ce fichier est déterminé par la directive de configuration `opcache.blacklist_filename` ( `/etc/php.d/opcache-glpi.blacklist` par exemple sous Fedora). Si votre instance GLPI se trouve dans le dossier `/var/www/`, le chemin à exclure sera `/var/www/html/glpi/glpi-9.2.1/vendor/tecnickcom/tcpdf/fonts/`.

Bien entendu, l'emplacement du fichier de configuration et le chemin des polices devront être adaptés en fonction de votre système et de votre type d'installation.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.glpi-project.org/documentation/fr/advanced/cache.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
