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
Last updated: Fri, 06 Nov 2009

view this page in

Memcache::delete

(PECL memcache >= 0.2.0)

Memcache::deleteDelete item from the server

Description

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

Memcache::delete() deletes item with the key . If parameter timeout is specified, the item will expire after timeout seconds. Also you can use memcache_delete() function.

Parameters

key

The key associated with the item to delete.

timeout

Execution time of the item. If it's equal to zero, the item will be deleted right away whereas if you set it to 30, the item will be deleted in 30 seconds.

Return Values

Returns TRUE on success or FALSE on failure.

Examples

Example #1 Memcache::delete() example

<?php

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

/* after 10 seconds item will be deleted by the server */
memcache_delete($memcache_obj'key_to_delete'10);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host'11211);

$memcache_obj->delete('key_to_delete'10);

?>

See Also



Memcache::flush> <Memcache::decrement
Last updated: Fri, 06 Nov 2009
 
add a note add a note User Contributed Notes
Memcache::delete
gentoo at gmx dot de
13-Sep-2009 02:22
@ Jocke Berg:
Alternatatively, you can use $memcache->set($key, $data, -1, (3600*24*30) + time()). It saves from you calling the delete() method as memcache interprets the expiration time as a UNIX timestamp (and not seconds!). See also http://code.google.com/p/memcached/wiki/FAQ for more information regarding that topic.
Wilfried Loche
25-Aug-2009 05: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
06-May-2009 06: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.

Memcache::flush> <Memcache::decrement
Last updated: Fri, 06 Nov 2009
 
 
show source | credits | sitemap | contact | advertising | mirror sites