(PECL memcache >= 0.2.0)
Memcache::set — Сохранить данные на сервере
Memcache::set() записывает элемент со значением
var
на сервере memcache с указанным ключом key
.
Параметр expire
задает время жизни элемента. Если он развен 0,
то элемент никогда не устареет (но сервер memcached не гарантирует что элемент будет
постоянно храниться в кеше и он может быть удален для освобождения места для новых
элементов).
Вы можете использовать константу MEMCACHE_COMPRESSED
в качестве
значения для параметра flag
, если вам требуется сжатие "на лету"
(используется zlib).
Также вы можете использовать функцию memcache_set().Замечание:
Помните, что ресурсы (например дескрипторы файлов или подключений) не могут быть сохранены в кеше, потому что они не могут быть сериализованы.
key
Ключ, с которым будет связано значение элемента.
var
Переменная для сохранения. Строковые и числовые значения сохраняются как есть, а остальные типы сериализируются.
flag
Используйте MEMCACHE_COMPRESSED
для сохранения элементов
с использованием сжатия (используется zlib).
expire
Время жизни элемента. Если равно нулю, элемент никогда не устаревает. Также вы можете использовать метку времени Unix или число секунд, начиная с текущего момента, однако, в этом случае число секунд не может быть больше 2592000 (30 дней).
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
Пример #1 Пример использования Memcache::set()
<?php
/* процедурное API */
/* подключение к серверу memcached */
$memcache_obj = memcache_connect('memcache_host', 11211);
/*
установить значение элемента с ключом 'var_key',
используя 0 в flag, без использования сжатия со
временем жизни 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');
?>