以前写过一篇博文,利用 PHP 和 Memcache 实现网站,以下链接查看://www.rzxsoft.cn/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;
}