(PECL memcache >= 0.2.0)
Memcache::set -- memcache_set — Сохраняет данные на сервере
Метод 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');
?>