Memcache::add

(no version information, might be only in CVS)

Memcache::add -- Add an item to the server

Description

bool Memcache::add ( string key, mixed var [, int flag [, int expire]] )

Memcache::add() stores variable var with key only if such key doesn't exist at the server yet. Memcache::add() returns FALSE if such key already exist. For the rest Memcache::add() behaves similarly to Memcache::set().

Also you can use memcache_add() function. See example below.

例子 1. Memcache::add() example

<?php

$memcache_obj
= memcache_connect("localhost", 11211);

/* procedural API */
memcache_add($memcache_obj, 'var_key', 'test variable', false, 30);

/* OO API */
$memcache_obj->add('var_key', 'test variable', false, 30);

?>

Memcache::add() returns TRUE on success or FALSE on failure.

See also Memcache::set(), Memcache::replace().


add a note add a note User Contributed Notes
Joel Yliluoma
19-Apr-2006 09:19
Followup to the previous poster:
Instead of replace()+add(), you should of course use set().
adam dot alkins at gmail dot com
13-Feb-2006 01:23
As the documentation notes, this function returns false if it doesn't replace an existing item (You must have added the item before for replace to work). If you're writing a dynamic application which for example caches data from an SQL database, your code should look like this.

<?php

if(!$mc->replace('foo', 'bar'))
{
  
$mc->add('foo', 'bar');
}

?>

This ensures that the memcache server is repopulated properly everytime it is restarted.