(PECL wincache >= 1.1.0)
wincache_ucache_add — Добавляет переменную в пользовательский кеш, только если переменная ещё не существует в кеше
Добавляет переменную в пользовательский кеш, только если эта переменная ещё не существует в кеше. Добавленная переменная остаётся в пользовательском кеше, пока не истечёт срок её действия или она не будет удалена с помощью функций wincache_ucache_delete() или wincache_ucache_clear().
key
Сохраняет переменную с использованием этого имени key
. Если переменная с таким же key
уже существует, завершится ошибкой и вернёт false
. key
чувствителен к регистру.
Чтобы переопределить значение, даже если key
уже существует, используйте функцию wincache_ucache_set().
key
также может принимать массив пар имя => значение, где имена будут использоваться в качестве ключей.
Это можно использовать для добавления нескольких значений в кеш за одну операцию, что позволяет избежать состояния гонки.
value
Значение переменной, которую необходимо сохранить. Value
поддерживает все типы данных, кроме ресурсов,
таких как дескрипторы файлов.
Параметр игнорируется, если первым аргументом является массив. Общее руководство - передать null
в качестве value
при использовании массива key
.
Если value
является объектом или массивом, содержащим объекты,
то объекты будут сериализованы. Подробнее о сериализации объектов смотрите в описании __sleep().
values
Ассоциативный массив ключей и значений.
ttl
Время, в течение которого переменная находится в кеше, в секундах. После того, как значение, указанное в ttl
будет передано, сохранённая переменная будет удалена из кеша.
Параметр принимает значение по умолчанию 0
, что означает, что переменная останется в кеше,
пока она не будет явно удалена с помощью функций wincache_ucache_delete() или wincache_ucache_clear().
Если key
является строкой, функция возвращает true
в случае успешного выполнения и false
в случае возникновения ошибки.
Если key
является массивом, функция возвращает:
false
;
Пример #1 Пример использования wincache_ucache_add() с key
в виде строки
<?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"