apc_add

(PECL apc >= 3.0.13)

apc_add Poner una nueva variable en caché en el almacén de datos

Descripción

bool apc_add ( string $key , mixed $var [, int $ttl = 0 ] )
array apc_add ( array $values [, mixed $unused = NULL [, int $ttl = 0 ]] )

Pone una variable en caché en el almacén de datos, sólo si no está ya almacenada.

Nota: A diferencia de otros mecanismos de PHP, las variables almacenadas al usar apc_add() persistirán entre peticiones (hasta que el valor sea eliminado de la caché).

Parámetros

key

Almacena la variable usando este nombre. Las claves (keys) son únicas en la caché, por lo que intentar usar apc_add() para almacenar información con una clave que ya existe no sobrescribirá la información existente, en su lugar devolverá FALSE. (Esta es la única diferencia entre apc_add() y apc_store().)

var

La variable a almacenar

ttl

Time To Live (Tiempo de Vida); almacena var en la caché durante ttl segundos. Después de que pase ttl, la variable almacenada será expurgada de la caché (en la siguiente solicitud). Si no se proporciona ttl (o si ttl es 0), el valor persistirá hasta que sea eliminado de la caché manualmente, o si no dejará de existir (al limpiar, reiniciar, etc.).

values

Nombres en clave, variables en valor.

Valores devueltos

Devuelve TRUE si realmente se ha añadido algo a la caché, de lo contrario devuelve FALSE. La segunda sintaxis devuelve un array con las claves de errores.

Ejemplos

Ejemplo #1 Un ejemplo de apc_add()

<?php
$bar 
'BAR';
apc_add('foo'$bar);
var_dump(apc_fetch('foo'));
echo 
"\n";
$bar 'NUNCA SE ESTABLECE';
apc_add('foo'$bar);
var_dump(apc_fetch('foo'));
echo 
"\n";
?>

El resultado del ejemplo sería:

string(3) "BAR"
string(3) "BAR"

Ver también

  • apc_store() - Guardar una variable en caché en el almacén de datos
  • apc_fetch() - Traer una variable almacenada desde la caché
  • apc_delete() - Elimina una variable almacenada de la caché

add a note add a note

User Contributed Notes 1 note

up
10
liv_romania at yahoo dot com
2 years ago
In order to understand better how APC caching works you can do the following:

1. Restart web server (Apache or Nginx)

2. Create file "apc_fetch.php":
<?php
var_dump
(apc_fetch(array(
   
'CUR_DATE_5s_1',
   
'CUR_DATE_5s_2',
   
'CUR_DATE_5s_3',
   
'CUR_DATE_0s_1',
   
'CUR_DATE_0s_2',
   
'CUR_DATE_0s_3',
)));
?>

3. Create file "apc_add.php":
<?php
$ttl
= 5;

$key = 'CUR_DATE_5s_1';
$var = date('c');
$result = apc_add($key, $var, $ttl);
var_dump($result);
echo
"\n";

$var = date('c');
$result = apc_add($key, $var, $ttl);
var_dump($result);
echo
"\n";

$key = 'CUR_DATE_0s_1';
$var = date('c');
$result = apc_add($key, $var);
var_dump($result);
echo
"\n";

$values = array(
   
'CUR_DATE_5s_2' => date('c'),
   
'CUR_DATE_5s_3' => rand(),
);
$result = apc_add($values, null, $ttl);
var_dump($result);
echo
"\n";

$values = array(
   
'CUR_DATE_0s_2' => date('c'),
   
'CUR_DATE_0s_3' => rand(),
);
$result = apc_add($values, null);
var_dump($result);
?>

4. Run "apc_fetch.php" and "apc_add.php" several times in order to see the persistent result and how values change from one request to another.
To Top