Memcache::replace

(PECL memcache >= 0.2.0)

Memcache::replaceReemplaza el valor de un valor existente

Descripción

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

Memcache::replace() debe ser usado para reemplazar el valor de un valor existente en una key determinada. En caso que la llave no exista, Memcache::replace() devolverá false. Por lo demás Memcache::replace() funciona similar a Memcache::set(). También se puede usar la función memcache_replace().

Parámetros

key

La clave que será asociada con el valor.

var

La variable a guardar. Cadenas y enteros son guardados tal y como son, otros tipos son guardados de forma serializada.

flag

Utilice MEMCACHE_COMPRESSED para guardar el valor de forma comprimida (utiliza zlib).

expire

Tiempo de expiración del valor. Si es igual a cero, el valor nunca expirará. También se puede usar Unix timestamp o el número de segundos empezando desde de hora actual, pero como máximo el número de segundos no debe exceder de 2592000 (30 días).

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Ejemplos

Ejemplo #1 Ejemplo de Memcache::replace()

<?php

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

/* API por procedimientos */
memcache_replace($memcache_obj, "test_key", "some variable", false, 30);

/* API OO */
$memcache_obj->replace("test_key", "some variable", false, 30);

?>

Ver también

add a note add a note

User Contributed Notes 1 note

up
8
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