PHP Velho Oeste 2024

apc_add

(PECL apc >= 3.0.13)

apc_add Кешировать переменную в хранилище данных

Описание

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

Кеширует переменную в хранилище данных, только если она ещё не закеширована.

Замечание: В отличие от многих других механизмов в PHP, переменные, сохраненные с использованием apc_add(), будут сохранены между запросами (пока значение не будет удалено из кеша).

Список параметров

key

Сохраняет переменную, используя это имя. Ключи (key) уникальны для кеша, так, попытка использования apc_add() для сохранения данных с ключом, который уже существует, не перезапишет существующие данные, и вместо этого возвратит FALSE. (Это единственное различие между apc_add() и apc_store().)

var

Переменная для хранения

ttl

Время жизни; хранить var в кеше ttl секунд. После истечения ttl, сохраненная переменная будет удалена из кэша (при следующем запросе). Если никакого значения ttl не указано (или если ttl равно 0), то значение хранится, пока оно не будет удалено из кеша вручную, или не сможет существовать в кэше (очистка, перезапуск и т.д.).

values

Имена в ключах, переменные в значениях.

Возвращаемые значения

Возвращает TRUE в случае успешного добавления и FALSE в случае ошибки. Второй синтаксис возвращает массив с ошибочными ключами.

Примеры

Пример #1 Пример использования apc_add()

<?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"

Смотрите также

  • apc_store() - Кешировать переменную в хранилище данных
  • apc_fetch() - Выбрать сохраненную переменную из кеша
  • apc_delete() - Удалить сохраненную переменную из кеша

add a note add a note

User Contributed Notes 1 note

up
13
liv_romania at yahoo dot com
8 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