PHP 8.6.0 Beta 3 is available for testing

Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Yac Options de configuration
Nom Défaut Modifiable Historique
yac.compress_threshold 4K INI_SYSTEM  
yac.debug 0 INI_ALL  
yac.enable 1 INI_SYSTEM  
yac.enable_cli 0 INI_SYSTEM  
yac.keys_memory_size 8M INI_SYSTEM  
yac.serializer php INI_SYSTEM  
yac.values_memory_size 64M INI_SYSTEM  

Voici un éclaircissement sur l'utilisation des directives de configuration.

yac.compress_threshold int

Les valeurs sérialisées plus grandes que ce nombre d'octets sont compressées (avec LZ4, depuis Yac 2.4.0) avant d'être stockées. Les valeurs au delà de la limite de 1M par entrée stockée (YAC_MAX_RAW_COMPRESSED_LEN) sont toujours compressées, quel que soit ce réglage, car elles ne peuvent pas être stockées non compressées. La valeur par défaut de 4K active la compression ; -1 la désactive pour les valeurs en deçà de la limite par entrée stockée, et les autres valeurs positives sont ramenées dans l'intervalle 1024..1M. Compresser les grandes valeurs économise de la mémoire partagée au coût de quelques cycles CPU lors du stockage et de la récupération.

yac.debug int

Réservé au débogage. À partir de Yac 2.4.0, cette directive est enregistrée mais n'a aucun effet.

yac.enable int

Si Yac est activé. Si désactivé, créer une instance de Yac lance une exception.

yac.enable_cli int

Si Yac est activé lors de l'exécution sous le SAPI CLI. Désactivé par défaut car les scripts en ligne de commande démarrent et s'arrêtent immédiatement, et le segment de mémoire partagée serait créé inutilement.

yac.keys_memory_size string

Quantité de mémoire partagée pour la table des clés. Elle plafonne le nombre d'entrées pouvant exister simultanément : la valeur par défaut de 8M autorise environ 65 536 entrées. L'augmenter lorsque le taux de succès baisse et que kicks grimpe ; voir Gestion de la mémoire pour le comportement d'une table pleine et les cas où cela importe vraiment.

yac.values_memory_size string

Quantité de mémoire partagée pour le stockage des valeurs. Les valeurs sont allouées par un allocateur linéaire sur des segments de 4M chacun ; lorsqu'aucun segment n'a de place pour une nouvelle valeur, le curseur d'allocation repart au début et les valeurs les plus anciennes sont silencieusement écrasées (« recyclées »). Leurs lectures se dégradent alors en défauts de cache, détectés par un contrôle d'intégrité. Augmenter cette valeur si recycles grimpe alors que les slots ont encore de la place, ou activer yac.compress_threshold pour réduire les grandes charges utiles. Voir Gestion de la mémoire.

yac.serializer string

Sérialisateur utilisé pour transformer les valeurs PHP arbitraires en octets avant de les stocker. Les valeurs autorisées sont php (la valeur par défaut), json, igbinary et msgpack. Les trois derniers nécessitent que l'extension soit compilée avec le support correspondant. Les sérialisateurs binaires tels que igbinary et msgpack sont généralement plus rapides et produisent des données plus compactes que php.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top