El comportamiento de estas funciones es afectado por la configuración en el archivo php.ini.
| Nombre | Por defecto | Cambiable | Historial de cambios |
|---|---|---|---|
| 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 |
Aquí hay una aclaración sobre el uso de las directivas de configuración.
yac.compress_threshold
int
Los valores serializados que superan este número de bytes se
comprimen (con LZ4, desde Yac 2.4.0) antes de almacenarse.
Los valores que superan el límite de 1M por entrada
almacenada (YAC_MAX_RAW_COMPRESSED_LEN) se
comprimen siempre, sea cual sea esta directiva, porque no pueden
almacenarse sin comprimir. El valor predeterminado de
4K activa la compresión; -1 la
desactiva para los valores por debajo del límite por entrada
almacenada, y los demás valores positivos se ajustan al rango
1024..1M.
Comprimir valores grandes ahorra memoria compartida a costa de algo de
CPU tanto al almacenar como al recuperar.
yac.debug
int
Reservada para depuración. A partir de Yac 2.4.0 esta directiva está registrada pero no tiene ningún efecto.
yac.enable
int
Indica si Yac está activado. Si está desactivado, crear una instancia de Yac lanza una excepción.
yac.enable_cli
int
Indica si Yac está activado al ejecutarse bajo la SAPI
CLI. Está desactivado de forma predeterminada
porque los scripts de línea de comandos suelen iniciarse y
detenerse de inmediato, y el segmento de memoria compartida se
crearía en vano.
yac.keys_memory_size
string
Cantidad de memoria compartida para la tabla de claves. Limita cuántas
entradas pueden existir a la vez: el valor predeterminado de
8M permite unas 65 536 entradas. Conviene aumentarlo
cuando la tasa de aciertos baja y kicks sube; véase
Gestión de la memoria para saber cómo se comporta una
tabla llena y cuándo eso importa realmente.
yac.values_memory_size
string
Cantidad de memoria compartida para almacenar los valores. Los valores
se reservan mediante un asignador lineal sobre segmentos de 4M cada uno;
cuando ningún segmento tiene sitio para un valor nuevo, el cursor del
asignador vuelve al principio y los valores más antiguos se sobrescriben
silenciosamente («reciclados»). Sus lecturas pasan entonces a ser
fallos de caché, detectados por un control de integridad. Conviene
ampliarlo si recycles sube mientras las ranuras
todavía tienen sitio, o activar
yac.compress_threshold
para reducir las cargas útiles grandes. Véase
Gestión de la memoria.
yac.serializer
string
Serializador utilizado para convertir valores PHP arbitrarios en
bytes antes de almacenarlos. Los valores permitidos son
php (el predeterminado),
json, igbinary y
msgpack. Los tres últimos requieren que la
extensión se haya compilado con el soporte correspondiente. Los
serializadores binarios, como igbinary y
msgpack, suelen ser más rápidos y producen
datos más pequeños que php.