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

search for in the

Memcache::pconnect> <Memcache::getVersion
[edit] Last updated: Fri, 23 Mar 2012

view this page in

Memcache::increment

(PECL memcache >= 0.2.0)

Memcache::incrementIncrement item's value

Açıklama

int Memcache::increment ( string $key [, int $value = 1 ] )

Memcache::increment() increments value of an item by the specified value. If item specified by key was not numeric and cannot be converted to a number, it will change its value to value. Memcache::increment() does not create an item if it doesn't already exist.

Bilginize:

Do not use Memcache::increment() with items that have been stored compressed because subsequent calls to Memcache::get() will fail.

Also you can use memcache_increment() function.

Değiştirgeler

key

Key of the item to increment.

value

Increment the item by value.

Dönen Değerler

Returns new items value on success başarısızlık durumunda FALSE döner.

Örnekler

Örnek 1 Memcache::increment() example

<?php

/* procedural API */
$memcache_obj memcache_connect('memcache_host'11211);
/* increment counter by 2 */
$current_value memcache_increment($memcache_obj'counter'2);

/* OO API */
$memcache_obj = new Memcache;
$memcache_obj->connect('memcache_host'11211);
/* increment counter by 3 */
$current_value $memcache_obj->increment('counter'3);

?>

Ayrıca Bakınız



Memcache::pconnect> <Memcache::getVersion
[edit] Last updated: Fri, 23 Mar 2012
 
add a note add a note User Contributed Notes Memcache::increment
perroazul64 at gmail dot com 07-Jun-2011 10:46
When the key doesn't exist it may return either bool(false) or int(0) (I get different return values on different servers), so be careful if you check for something like ($memcache->increment($key) === false).
ian at blip dot fm 30-Jun-2009 04:28
Be careful to use Memcache::decrement() and never Memcache::increment() with a negative value.

The check that prevents Memcache::decrement() from going negative is not in place with Memcache::increment(), so you can end up with a garbage integer on the order of 18 quintillion stored in place of the expected value.
jay dot paroline at escapemg dot com 13-May-2009 06:34
Instead of checking the value before incrementing, you can simply ADD it instead before incrementing each time. If it's already there, your ADD is ignored, and if it's not there, it's set.

If you add($memcacheKey, 0) and then increment($memcacheKey, 1) in that order, you avoid all possible race conditions. If two threads are running this code concurrently, you will always end up with your value being 2 no matter which order the threads execute in.
Anonymous 13-May-2009 06:16
Please note:
If the key does not exist, memcache does NOT return false (as you might expect) but 0.
You won't get any hint that the key did not exist and still does not exist and that nothing was incremented.
15-Jun-2005 12:54
if no variable exists, even if you specify an increment value, the result will be null.

if you're using this for a mutex, chk if its null, and if so, then ADD the variable.

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