Longhorn PHP 2025 - Speakers and Schedule Announced!

Memcache::replace

memcache_replace

(PECL memcache >= 0.2.0)

Memcache::replace -- memcache_replaceЗаменяет значение элемента кеша

Описание

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

Метод Memcache::replace() заменяет значение элемента кеша с ключом key. Метод Memcache::replace() возвращает значение false, если сервер не содержит элемент с таким ключом, иначе метод Memcache::replace() работает аналогично методу Memcache::set().

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

key

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

var

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

flag

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

expire

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

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

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

Примеры

Пример #1 Пример замены значения элемента методом Memcache::replace()

<?php

$memcache_obj
= memcache_connect('memcache_host', 11211);

/* Процедурный API */
memcache_replace($memcache_obj, "test_key", "some variable", false, 30);

/* Объектно-ориентированный API */
$memcache_obj->replace("test_key", "some variable", false, 30);

?>

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

  • Memcache::set() - Сохраняет данные на сервере
  • Memcache::add() - Добавляет элемент с заданным ключом

Добавить

Примечания пользователей 1 note

up
10
adam.pippin [AT] ohmedia.ca
14 years ago
This page mentions that replace should be used rather than set, but gives no reason. Best information I could find was a comment by 'argyleblanket' on the set page. (http://www.php.net/manual/en/memcache.set.php#84032)

"Using set more than once for the same key seems to have unexpected results - it does not behave as a "replace," but instead seems to "set" more than one value for the same key. "get" may return any of the values.

This was tested on a multiple-server setup - behaviour may be different if you only have one server. "
To Top