apc_add
(PECL apc:3.0.13-3.0.14)
apc_add — Cache a variable in the data store
Описание
Caches a variable in the data store, only if it's not already stored.
Замечание: Unlike many other mechanisms in PHP, variables stored using apc_add() will persist between requests (until the value is removed from the cache).
Список параметров
- key
-
Store the variable using this name. key s 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.).
Возвращаемые значения
Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
Примеры
Пример #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";
?>
Результат выполнения данного примера:
string(3) "BAR" string(3) "BAR"
Коментарии
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.