YAC es un caché de datos de usuario de memoria compartido y sin bloqueo para PHP.
Se puede usar para reemplazar APC o Memcached local.
$/path/to/phpize
$./configure --with-php-config=/path/to/php-config
$make && make install
yac.enable = 1
yac.keys_memory_size = 4M ; 4M can get 30K key slots, 32M can get 100K key slots
yac.values_memory_size = 64M
yac.compress_threshold = -1
yac.enable_cli = 0 ; whether enable yac with cli, default 0
yac.serializer = php ; since yac 2.2.0 , specific seralizer yac used
could be json(--enable-json), msgpack(--enable-msgpack) or igbinary(--enable-igbinary)
YAC_VERSION
YAC_MAX_KEY_LEN = 48 ; if your key is longer than this, maybe you can use md5 result as the key
YAC_MAX_VALUE_RAW_LEN = 64M
YAC_MAX_VALUE_COMPRESSED_LEN = 1M
YAC_SERIALIZER_PHP = 0 ; since yac-2.2.0
YAC_SERIALIZER_JSON = 1 ; since yac-2.2.0
YAC_SERIALIZER_MSGPACK = 2 ; since yac-2.2.0
YAC_SERIALIZER_IGBINARY = 3 ; since yac-2.2.0
YAC_SERIALIZER ; serializer according to yac.serializer, default is YAC_SERIALIZER_PHP
Yac:: __construct ([string $ prefix = "" ])Constructor de YAC, puede especificar un prefijo que se utilizará para preferir cualquier tecla al hacer Set/Get/Eliminar
<?php
$ yac = new Yac ( " myproduct_ " );
?> Yac:: set ( $ key , $ value [, $ ttl = 0 ])
Yac:: set (array $ kvs [, $ ttl = 0 ])Almacene un valor en YAC Cache, las claves están unidas a caché, por lo que almacenar un segundo valor con la misma clave sobrescribirá el valor original.
Devuelva verdadero al éxito, devuelve falso en error (como sin memoria, no puede obtener CAS Write Right)
<?php
$ yac = new Yac ();
$ yac -> set ( " foo " , " bar " );
$ yac -> set (
array (
" dummy " => " foo " ,
" dummy2 " => " foo " ,
)
);
?> Como YAC 2.1, la tienda puede fallar si la competencia CAS falla, es posible que deba hacer:
while (!( $ yac -> set ( " important " , " value " )));Si necesita que el valor se almacene correctamente.
Yac::get(array|string $key[, &$cas = NULL])
Obtiene una variable almacenada del caché. Si se pasa una matriz, cada elemento se obtiene y se devuelve.
Devuelva el valor sobre el éxito, devuelva falso en error (como sin memoria, no puede obtener CAS Write Right)
<?php
$ yac = new Yac ();
$ yac -> set ( " foo " , " bar " );
$ yac -> set (
array (
" dummy " => " foo " ,
" dummy2 " => " foo " ,
)
);
$ yac -> get ( " dummy " );
$ yac -> get ( array ( " dummy " , " dummy2 " ));
?> Yac::delete(array|string $keys[, $delay=0])
Elimina una variable almacenada del caché. Si se especifica el retraso, el valor se eliminará después de $ segundos de retraso.
Yac::flush()
Invalida inmediatamente todos los artículos existentes. En realidad, no libera ningún recurso, solo marca todos los elementos como inválidos.
Yac::info(void)
Obtener información sobre caché
<?php
. . . .
var_dump ( $ yac -> info ());
/* will return an array like :
array ( 11) {
[ " memory_size "]=> int(541065216)
[ "slots_memory_size" ] => int ( 4194304 )
[ "values_memory_size" ] => int ( 536870912 )
[ "segment_size" ] => int ( 4194304 )
[ "segment_num" ] => int ( 128 )
[ "miss" ] => int ( 0 )
[ "hits" ] => int ( 955 )
[ "fails" ] => int ( 0 )
[ "kicks" ] => int ( 0 )
[ "slots_size" ] => int ( 32768 )
[ "slots_used" ] => int ( 955 )
}
*/