note 90537 added to function.memcache-add
| From: | ktamas77 at gmail dot com | Date: | Mon, 27 Apr 2009 11:08:59 +0000 |
| Subject: | note 90537 added to function.memcache-add | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-153806@lists.php.net to get a copy of this message | ||
skeleton of a thread safe updater for an incremental counter:
<?php
$key = "counter";
$value = $memcache->increment($key, 1);
if ($value === false) {
// --- read from DB ---
$query = "SELECT value FROM database";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
$db_value = $row["value"];
$add_value = $memcache->add($key, $db_value + 1, 0, 0);
if ($add_value === false) {
$value = $memcache->increment($key, 1)
if ($value === false) {
error_log ("counter update failed.");
}
} else {
$value = $db_value + 1;
}
}
// --- display counter value ---
echo $value;
?>
----
Server IP: 193.95.141.37
Probable Submitter: 193.189.67.178
----
Manual Page -- http://www.php.net/manual/en/function.memcache-add.php
Edit -- https://master.php.net/note/edit/90537
Del: integrated -- https://master.php.net/note/delete/90537/integrated
Del: useless -- https://master.php.net/note/delete/90537/useless
Del: bad code -- https://master.php.net/note/delete/90537/bad+code
Del: spam -- https://master.php.net/note/delete/90537/spam
Del: non-english -- https://master.php.net/note/delete/90537/non-english
Del: in docs -- https://master.php.net/note/delete/90537/in+docs
Del: other reasons-- https://master.php.net/note/delete/90537
Reject -- https://master.php.net/note/reject/90537
Search -- https://master.php.net/manage/user-notes.php