PHP
·
发表于 5年以前
·
阅读量:8305
以前写过一篇博文,利用 PHP 和 Memcache 实现网站,以下链接查看:http://www.jb51.net/article/51825.htm
今天就把该功能用到 wordpress 中,并实现把访问次数保存到数据库中。
MySQL 语句
首先在参数表中,添加访问次数的默认数据
// 获取所有浏览次数
function get_all_visit_number()
{
$mc = new Memcache ();
// 使用wordpress自带wpdb类
global $wpdb;
// 参数表
$table = "wp_options";
// 连接memcache
$mc->connect ( "127.0.0.1", 11211 );
// 获取浏览次数
$visit_number = $mc->get ( 'visit_number' );
// Memcache 中是否存有访问次数
if (!$visit_number) {
// 不存在时,查询数据库
$querystr = "SELECT `option_value` FROM " .$table. " WHERE `option_name`='visit_number'";
$results = $wpdb->get_results($querystr);
// 把数据库中存储的值赋予memcache变量
$visit_number = intval($results[0]->option_value);
}
// 设置浏览次数
$mc->set ( 'visit_number', ++$visit_number);
// 获取浏览次数
$visit_number = $mc->get ( 'visit_number' );
// 每达100次访问量,更新到数据库
if ($visit_number % 100 == 0) {
// 使用wordpress自带wpdb类
$data_array = array(
'option_value' => $visit_number
);
$where_clause = array(
'option_name' => 'visit_number'
);
$wpdb->update($table,$data_array,$where_clause);
}
// 关闭memcache连接
$mc->close ();
return $visit_number;
}