downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Memcache::flush> <Memcache::decrement
[edit] Last updated: Fri, 25 May 2012

view this page in

Memcache::delete

(PECL memcache >= 0.2.0)

Memcache::deleteEfface un élément du serveur de cache

Description

bool Memcache::delete ( string $key [, int $timeout = 0 ] )

Memcache::delete() efface l'élément identifié par la clé key.

Liste de paramètres

key

La clé associée à l'élément à supprimer.

timeout

Ce paramètre obsolète n'est pas supporté, et vaut par défaut 0 seconde. N'utilisez pas ce paramètre.

Historique

Version Description
Inconnu Il n'est pas recommandé d'utiliser le paramètre timeout. Son comportement diffère suivants les versions de memcached, mais le fait de lui passer la valeur 0 est sans danger. Les autres valeurs pour cette fonctionnalité obsolète peut conduire à une erreur de fonctionnement.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Exemples

Exemple #1 Exemple avec Memcache::delete()

<?php

/* API procédurale */
$memcache_obj memcache_connect('memcache_host'11211);

/* l'élément sera effacé par la serveur de cache */
memcache_delete($memcache_obj'key_to_delete');

/* API orientée objet */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host'11211);

$memcache_obj->delete('key_to_delete');

?>

Voir aussi



Memcache::flush> <Memcache::decrement
[edit] Last updated: Fri, 25 May 2012
 
add a note add a note User Contributed Notes Memcache::delete
vbaspcppguy at gmail dot com 08-Sep-2010 12:47
According to the documents, $timeout is not required, but for me if I did not include it regardless of value, it fired an error. I made a simple fix for it.

<?php
class memcache_tools extends memcache
{
    public function
delete($key, $expire=0)
    {
       
parent::delete($key, $expire);   
    }
}
?>

This will force it to behave as it should regardless of version.
Anonymous 28-Jul-2010 03:30
Regardless of whether or not it succeeds, for me on Ubuntu 10.04 it always returns false.  Just an FYI, you can't seem to rely on the result.
nibblebot at gmail dot com 09-Jul-2010 08:58
the Memcache::delete(key) function is broken on several combinations of memcached+pecl-memcache combinations.

pecl-memcache 2.2.5 + memcached 1.4.2 - Memcache::delete(key) WORKS

pecl-memcache 2.2.5 + memcached 1.4.3 - Memcache::delete(key) DOES NOT WORK

pecl-memcache 2.2.5 + memcached 1.4.4 - Memcache::delete(key) WORKS

pecl-memcache 2.2.5 + memcached 1.4.5 - Memcache::delete(key) WORKS

pecl-memcache 3.0.4 + memcached 1.4.2 - Memcache::delete(key) WORKS

pecl-memcache 3.0.4 + memcached 1.4.3 - Memcache::delete(key) DOES NOT WORK

pecl-memcache 3.0.4 + memcached 1.4.4 - Memcache::delete(key) DOES NOT WORK

pecl-memcache 3.0.4 + memcached 1.4.5 - Memcache::delete(key) DOES NOT WORK
z at zaebal dot com 28-Dec-2009 08:21
To workaround the "delete" issue just pass zero as timeout parameter.
Wilfried Loche 25-Aug-2009 02:01
Hi,

Be careful about multi memcached servers. It seems logical the get() methods use only one server but, what about the delete() and update() methods?

In fact, at least the delete() method perform a delete on the first server it finds!

For the test code, you can see it there:
http://pecl.php.net/bugs/bug.php?id=16810

Hope this helps someone!
Wilfried
Jocke Berg 05-May-2009 03:02
I was searching for a function/method in this class that would "reset" (or "update", depending on how you look at it) the timeout value for a  key. I was searching my  butt off when I finally figured; this is the one.

Example: You have accessed a web-page including something that should be "in-cache" for way more than 30 days (until the memcache server gets a downtime for some reason). Since the limit for having something in the cache is 30 days, this will be a problem. Simple (yet somewhat non-optimal) solution:

<?php
//How to "update" the value
if($memcache_key_exists){
       
$memcache_obj->delete('key', (3600*24*30));
}
?>

Have fun.

 
show source | credits | sitemap | contact | advertising | mirror sites