(PECL wincache >= 1.1.0)
wincache_ucache_add — Добавляет переменную в пользовательский кеш, только если кеш ещё не содержит переменную
Функция добавляет переменную в пользовательский кеш, только если кеш ещё не содержит переменную с таким ключом. Переменная остаётся в пользовательском кеше до истечения срока действия или пока переменную не удалят функцией wincache_ucache_delete() или wincache_ucache_clear().
key
Параметр key — имя переменной, с которым значение сохраняется в кеше.
Функция выдаст ошибку и вернёт false, если переменная с ключом key уже содержится в кеше.
Параметр key чувствителен к регистру.
Функция wincache_ucache_set() переопределит значение, даже если элемент с ключом key уже содержится в кеше.
Параметр key также принимает массив пар «имя => значение», где имя — ключ значения.
Массив передают для добавления в кеш набора значений за одну операцию и чтобы исключить состояние гонки.
value
Значение переменной, которую требуется сохранить. Параметр value поддерживает все типы данных, кроме ресурсов,
таких как дескрипторы файлов.
Параметр игнорируется, если в первом аргументе передали массив. Общая рекомендация — при передаче в параметр key массива
передавать в аргументе value значение null.
Функция сериализует объекты, если в параметр value передали объект или массив объектов.
Подробнее о сериализации объектов рассказывает описание магического метода __sleep().
valuesАссоциативный массив ключей и значений.
ttl
Время в секундах, в течение которого переменная хранится в кеше. После истечения времени ttl
переменная удаляется из кеша.
Значение по умолчанию — 0, поэтому переменная останется в кеше бессрочно,
или пока переменную не удалят функцией wincache_ucache_delete() или wincache_ucache_clear().
При передаче в параметр key строки функция возвращает true, если завершилась успешно, или false, если возникла ошибка.
При передаче в параметр key массива функция возвращает:
false, если ни одну пару «имя => значение» из массива невозможно установить;
Пример #1
Пример добавления переменной в пользовательский кеш по строковому ключу key
функцией wincache_ucache_add()
<?php
$bar = 'BAR';
var_dump(wincache_ucache_add('foo', $bar));
var_dump(wincache_ucache_add('foo', $bar));
var_dump(wincache_ucache_get('foo'));Результат выполнения приведённого примера:
bool(true) bool(false) string(3) "BAR"
Пример #2
Пример добавления переменных в пользовательский кеш функцией wincache_ucache_add()
с передачей в параметр key массива
<?php
$colors_array = array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
var_dump(wincache_ucache_add($colors_array));
var_dump(wincache_ucache_add($colors_array));
var_dump(wincache_ucache_get('Blue'));Результат выполнения приведённого примера:
array(0) { }
array(4) {
["green"]=> int(-1)
["Blue"]=> int(-1)
["yellow"]=> int(-1)
["cyan"]=> int(-1)
}
string(1) "6"