Memcache::get> <Memcache::delete
Last updated: Mon, 28 Dec 2009

Memcache::flush

(PECL memcache:1.0-2.1.2)

Memcache::flush — Flush all existing items at the server

Descrição

bool Memcache::flush ( void )

Memcache::flush() immediately invalidates all existing items. Memcache::flush() doesn't actually free any resources, it only marks all the items as expired, so occupied memory will be overwritten by new items. Also you can use memcache_flush() function.

Valor Retornado

Retorna TRUE em caso de sucesso ou FALSE em falhas.

Exemplos

Exemplo #1 Memcache::flush() example

<?php

/* procedural API */
$memcache_obj memcache_connect('memcache_host'11211);

memcache_flush($memcache_obj);

/* OO API */

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

$memcache_obj->flush();

?>



User Contributed Notes
Memcache::flush
Anonymous
27-Feb-2008 12:51
More detail on the previous issue (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
?>
maarten d/ot manders a/t tilllate dotcom
12-Jul-2007 05:20
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.

Memcache::get> <Memcache::delete
Last updated: Mon, 28 Dec 2009