Manuel:$wgMainCacheType
| Cache: $wgMainCacheType | |
|---|---|
| Configuration de l'objet cache |
|
| Introduit dans la version : | 1.5.0 |
| Retiré dans la version : | Encore utilisé |
| Valeurs autorisées : | (Une des constantes CACHE (voir ci-dessous), ou une chaîne indiquant le type de cache initialisé en tant que clé de $wgObjectCaches) |
| Valeur par défaut : | CACHE_NONE |
| Autres paramètres : Alphabétique | Par fonction | |
Détails
Permet de configurer l'objet cache utilisé.
Voici les clés disponibles par défaut (définies comme constantes dans Defines.php):
CACHE_NONE– ne pas utiliser le cache (par défaut).CACHE_ANYTHING– utiliser $wgMessageCacheType ou $wgParserCacheType s'ils sont initialisés à autre chose queCACHE_NONEouCACHE_ANYTHING. Sinon utiliserCACHE_DB.CACHE_ACCEL– utiliser APCu ou OPcache si disponible. (maintenance/install.php ajoutera la ligne$wgMainCacheType = CACHE_ACCEL;à votre configuration.)CACHE_MEMCACHED– utiliser memcached s'il est disponible. Les serveurs doivent en plus être spécifiés dans $wgMemCachedServers.CACHE_DB– utiliser la table de base de données objectcache.
- Avertissement : ceci peut potentiellement être plus lent quand le cache n'est pas utilisé, c'est à dire avec
CACHE_NONE.
PHP fonctionne en compilant un fichier PHP en bytecode puis en exécutant ce bytecode. Le processus consistant à compiler une grosse application telle que Mediawiki prend énormément de temps. Les accélérateurs PHP fonctionnent en stockant le bytecode compilé et en l'exécutant directement, supprimant ainsi le temps de compilation.
OPcache est inclus depuis PHP 5.5.0 et c'est l'accélérateur recommandé pour MediaWiki.
Les caches Opcode stockent la sortie compilée des scripts PHP, ce qui réduit de beaucoup le temps nécessaire à leur excution quand ils sont appelés plusieurs fois. Il n'est pas nécessaire de configurer MediaWiki pour utiliser le bytecode PHP avec le cache et cela fonctionne simplement une fois l'installation et l'activation réalisées.
Voir $wgObjectCaches pour un exemple de cache personnalisé du noyau (par exemple Redis).
- Il a été décidé que la directive
CACHE_MEMCACHEDfournira les améliorations de performance les plus significatives dans le cas où où vous avez memcached et installé un cache de code d'opération. - Ceci n'est simplement qu'un des paramètres du cache de MediaWiki. Pour de meilleures performances vous devez aussi prendre en compte les autres paramètres du cache. Voir performance tuning.
- Depuis MediaWiki 1.27, les sessions PHP sont rangées dans un cache en fonction de la valeur de ce paramètre, sauf s'il est réécrit par $wgSessionCacheType. Ceci peut créer des problèmes lorsque
CACHE_ACCELest utilisé et que apcu est mal configuré (see T147161).
Login session problem with APCu in a multi process or multi server environment
$wgSessionCacheType inherits $wgMainCacheType unless configured otherwise.
Selecting CACHE_ACCEL as the cache type can cause inconsistent behavior where session data is lost, and the user must log back in. This is because php-fpm processes can be ephemeral or not good at talking to each other. There can also be problems in a multi-server environment.
The workaround is to use the database to store these sessions. Add the following line to LocalSettings.php
$wgSessionCacheType = CACHE_DB;