Memcache::set

memcache_set

(PECL memcache >= 0.2.0)

Memcache::set -- memcache_setСохраняет данные на сервере

Описание

Memcache::set(
    string $key,
    mixed $var,
    int $flag = ?,
    int $expire = ?
): bool
memcache_set(
    Memcache $memcache,
    string $key,
    mixed $var,
    int $flag = ?,
    int $expire = ?
): bool

Метод Memcache::set() записывает элемент со значением var на сервере memcache с ключом key. Параметр expire определяет время жизни элемента. При установке для параметра значения 0 элемент никогда не устареет, но сервер memcached не гарантирует постоянное хранение элемента в кеше, при этом элемент доступен для удаления, чтобы освободить место для новых элементов. При передаче в параметр flag флага MEMCACHE_COMPRESSED элемент сжимается "на лету" средствами библиотеки zlib.

Замечание:

Обратите внимание: ресурсы наподобие дескрипторов файлов или подключений нельзя сохранять в кеше, поскольку ресурсы невозможно адекватно представить в сериализованном виде.

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

key

Ключ, с которым свяжется элемент.

var

Переменная, которую требуется сохранить. Строковые и числовые значения сохраняются как есть, а остальные типы сериализуются.

flag

При передаче флага MEMCACHE_COMPRESSED элемент сохраняется в сжатом виде. Модуль сжимает элемент средствами библиотеки zlib.

expire

Время жизни элемента. При передаче значения 0 элемент никогда не устаревает. Параметр также принимает метку времени Unix или число секунд, начиная с текущего момента, но тогда числу секунд нельзя превышать значение 2592000, что эквивалентно 30 дням.

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

Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка.

Примеры

Пример #1 Пример сохранения данных на сервере методом Memcache::set()

<?php

/* Процедурный API */

/* Подключение к серверу memcached */
$memcache_obj = memcache_connect('memcache_host', 11211);

/**
* Установка значения для элемента с ключом 'var_key'.
* При установке для параметра flag значения 0 элемент не сжимается.
* Временем жизни элемента составит 30 секунд
*/
memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30);

echo
memcache_get($memcache_obj, 'var_key');

?>

Пример #2 Пример сохранения данных на сервере методом Memcache::set()

<?php

/* Объектно-ориентированный API */

$memcache_obj = new Memcache();

/* Подключение к серверу memcached */
$memcache_obj->connect('memcache_host', 11211);

/**
* Установка значения для элемента с ключом 'var_key',
* активация сжатия "на лету" и установка времени жизни в 50 секунд
*/
$memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);

echo
$memcache_obj->get('var_key');

?>

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