# Memcache::set

(PECL memcache >= 0.2.0)

Memcache::set — Guarda datos en el servidor

### Descripción

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

Memcache::set() guarda un valor `var` con una `key` en el servidor memcached. El parámetro `expire` es el tiempo de expiración en segundos. Si es 0, el valor nunca expira (pero el servidor memcached no garantiza que este valor será guardado para siempre, puede ser eliminado de la caché para hacer espacio para otros valores). Se puede usar la constante `MEMCACHE_COMPRESSED` en el valor del `flag` si quiere utilizar compresión al momento (usando zlib).

> Nota:

> Recuerde que variables de recursos (ej. ficheros y descriptores de conexiones) no pueden guardarse en caché, porque no pueden ser representados adecuadamente de forma serializada.

También se puede usar la función memcache_set().

### Parámetros

`key`

  La clave que quedará asociada con el valor.

`var`

  La variable a guardar. Cadenas y enteros se guardan tal y como son, otros tipos se guardan serializados.

`flag`

  Use `MEMCACHE_COMPRESSED` para guardar datos comprimidos (usa zlib).

`expire`

  Tiempo de expiración del valor. Si es iqual a cero, el valor nunca expirará. También puedes usar Unix timestamp o el número de segundos empezando desde la fecha actual, el valor no puede exceder de 2592000 segundos (30 días).

### Valores devueltos

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

### Ejemplos

Ejemplo #1 Ejemplo de Memcache::set()

`<?php
/* API por procedimientos */
/* Conectar al servidor memcached */
$memcache_obj = memcache_connect('memcache_host', 11211);
/*
Establecer el valor según la key 'var_key'
usando 0 como valor del flag, no será usada compresión
el tiempo de expiración es de 30 segundos
*/
memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30);
echo memcache_get($memcache_obj, 'var_key');
?>`

Ejemplo #2 Ejemplo de Memcache::set()

`<?php
/* API OO */
$memcache_obj = new Memcache;
/* connect to memcached server */
$memcache_obj->connect('memcache_host', 11211);
/*
Establece el valor según la llave 'var_key', usando compresión al momento
expira en 50 segundos
*/
$memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50);
echo $memcache_obj->get('var_key');
?>`

### Ver también

- Memcache::add() - Añadir un valor en el servidor
- Memcache::replace() - Reemplaza el valor de un valor existente