Сохраняет данные на сервере

# Memcache::set

# memcache_set

(PECL memcache >= 0.2.0)

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

### Описание

function Memcache::set(
string `$key`,
mixed `$var`,
int `$flag` = ?,
int `$expire` = ?
): bool
function 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');

    ?>

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

- Memcache::add() - Добавляет элемент с заданным ключом
- Memcache::replace() - Заменяет значение элемента кеша

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open