apc_add

(PECL apc >= 3.0.13)

apc_add Cache a new variable in the data store

Description

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

Caches a variable in the data store, only if it's not already stored.

Note: Unlike many other mechanisms in PHP, variables stored using apc_add() will persist between requests (until the value is removed from the cache).

Parameters

key

Store the variable using this name. keys are cache-unique, so attempting to use apc_add() to store data with a key that already exists will not overwrite the existing data, and will instead return FALSE. (This is the only difference between apc_add() and apc_store().)

var

The variable to store

ttl

Time To Live; store var in the cache for ttl seconds. After the ttl has passed, the stored variable will be expunged from the cache (on the next request). If no ttl is supplied (or if the ttl is 0), the value will persist until it is removed from the cache manually, or otherwise fails to exist in the cache (clear, restart, etc.).

values

Names in key, variables in value.

Return Values

Returns TRUE if something has effectively been added into the cache, FALSE otherwise. Second syntax returns array with error keys.

Examples

Example #1 A apc_add() example

<?php
$bar 
'BAR';
apc_add('foo'$bar);
var_dump(apc_fetch('foo'));
echo 
"\n";
$bar 'NEVER GETS SET';
apc_add('foo'$bar);
var_dump(apc_fetch('foo'));
echo 
"\n";
?>

The above example will output:

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

See Also

Коментарии

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($valuesnull$ttl);
var_dump($result);
echo 
"\n";

$values = array(
   
'CUR_DATE_0s_2' => date('c'),
   
'CUR_DATE_0s_3' => rand(),
);
$result apc_add($valuesnull);
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.
2015-10-28 21:39:03
http://php5.kiev.ua/manual/ru/function.apc-add.html

    Поддержать сайт на родительском проекте КГБ