CakeFest 2024: The Official CakePHP Conference

wincache_ucache_get

(PECL wincache >= 1.1.0)

wincache_ucache_getПолучает переменную, хранящуюся в пользовательском кеше

Описание

wincache_ucache_get(mixed $key, bool &$success = ?): mixed

Получает переменную, хранящуюся в пользовательском кеше.

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

key

Параметр key, который использовался для хранения переменной в кеше. key чувствителен к регистру. key может быть массивом ключей. В этом случае возвращаемое значение будет массивом значений каждого элемента в массиве key. Если возвращается объект или массив, содержащий объекты, то объекты будут десериализованы. Подробнее о десериализации объектов смотрите __wakeup().

success

Будет установлено значение true в случае успешного выполнения или false в случае возникновения ошибки.

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

Если параметр key является строкой, функция возвращает значение переменной, хранящейся с этим ключом. Для параметра success будет установлено значение true в случае успешного выполнения или false в случае возникновения ошибки.

Если параметр key - это массив, параметр success всегда будет иметь значение true. Возвращённый массив (пары имя => значение) будет содержать только те пары имя => значение, для которых операция получения в пользовательском кеше была успешной. Если ни один из ключей в массиве ключей не находит совпадения в пользовательском кеше, будет возвращён пустой массив.

Примеры

Пример #1 wincache_ucache_get() с key в виде строки

<?php
wincache_ucache_add
('color', 'blue');
var_dump(wincache_ucache_get('color', $success));
var_dump($success);
?>

Результат выполнения приведённого примера:

string(4) "blue"
bool(true)

Пример #2 wincache_ucache_get() с key в виде массива

<?php
$array1
= array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('green', 'Blue', 'yellow', 'cyan');
var_dump(wincache_ucache_get($array2, $success));
var_dump($success);
?>

Результат выполнения приведённого примера:

array(4) { ["green"]=> string(1) "5"
           ["Blue"]=> string(1) "6"
           ["yellow"]=> string(1) "7"
           ["cyan"]=> string(1) "8" }
bool(true)

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

  • wincache_ucache_add() - Добавляет переменную в пользовательский кеш, только если переменная ещё не существует в кеше
  • wincache_ucache_set() - Добавляет переменную в пользовательский кеш и перезаписывает переменную, если она уже существует в кеше
  • wincache_ucache_delete() - Удаляет переменные из пользовательского кеша
  • wincache_ucache_clear() - Удаляет всё содержимое пользовательского кеша
  • wincache_ucache_exists() - Проверяет, существует ли переменная в пользовательском кеше
  • wincache_ucache_meminfo() - Получает информацию об использовании памяти пользовательского кеша
  • wincache_ucache_info() - Получает информацию о данных, хранящихся в пользовательском кеше
  • __wakeup()

add a note

User Contributed Notes 1 note

up
0
don dot raman at microsoft dot com
14 years ago
As per documentation PHP 5.2 doesn't support serialization of PHP internal classes. This means code below will not work:

<?php
$d
= new DateTime();
$d->format(DateTime::W3C);
wincache_ucache_set( 'q1', $d );
var_dump( wincache_ucache_get( 'q1' )->format(DATE_ATOM));
?>

The output of above code will be (as of PHP5.2.13):
[11-Feb-2010 08:35:29] PHP Warning: DateTime::format() [<a href='datetime.format'>datetime.format</a>]: The DateTime object has not been correctly initialized by its constructor in C:\inetpub\wwwroot\phptest\tests\ucache\wincache8.php on line 5
And last var_dump will return bool(false).
To Top