PHP 8.5.0 Alpha 1 available for testing

Memcache::flush

(PECL memcache >= 1.0.0)

Memcache::flushElimina todos los elementos existentes en el servidor de caché

Descripción

Memcache::flush(): bool
memcache_flush(Memcache $memcache): bool

Memcache::flush() invalida inmediatamente todos los elementos existentes en el servidor de caché. Memcache::flush() no libera ningún recurso actualmente, solo marca todos los elementos como expirados, por lo que la memoria ocupada será reutilizada con nuevos elementos.

Parámetros

Esta función no tiene parámetros.

Valores devueltos

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

Ejemplos

Ejemplo #1 Ejemplo con Memcache::flush()

<?php

/* API procedimental */
$memcache_obj = memcache_connect('memcache_host', 11211);

memcache_flush($memcache_obj);

/* API orientada a objetos */

$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host', 11211);

$memcache_obj->flush();

?>

add a note

User Contributed Notes 2 notes

up
9
maarten d/ot manders a/t tilllate dotcom
17 years ago
Please note that after flushing, you have to wait a certain amount of time (in my case < 1s) to be able to write to Memcached again. If you don't, Memcached::set() will return 1, although your data is in fact not saved.
up
6
Anonymous
17 years ago
From the memcached mailing list:

"The flush has a one second granularity. The flush will expire all items up to the ones set within the same second."

It is imperative to wait at least one second after flush() command before further actions like repopulating the cache. Ohterwise new items < 1 second after flush() would be invalidatet instantaneous.

Example:
<?php
$memcache
->flush();

$time = time()+1; //one second future
while(time() < $time) {
//sleep
}
$memcache->set('key', 'value'); // repopulate the cache
?>
To Top