I am trying to track pageviews in MySQL DB using the following query:
\"UPDATE $table SET pageviews = pageviews + 1 WHERE page_id = 1\"
This is fine
I would use memcached to store the count, and then sync it with the database on a cron...
// Increment
$page_id = 1;
$memcache = new Memcache();
$memcache->connect('localhost', 11211);
if (!$memcache->get('page_' . $page_id)) {
$memcache->set('page_' . $page_id, 1);
}
else {
$memcache->increment('page_' . $page_id, 1);
}
// Cron
if ($pageviews = $memcache->get('page_' . $page_id)) {
$sql = "UPDATE pages SET pageviews = pageviews + " . $pageviews . " WHERE page_id = " . $page_id;
mysql_query($sql);
$memcache->delete('page_' . $page_id);
}