PHP+Memcache实现wordpress访问总数统计(非插件)
作者:忙碌的松鼠
这篇文章主要介绍了PHP+Memcache实现wordpress访问总数统计,直接写在主题functions.php中,并非实现的一个插件,需要的朋友可以参考下
以前写过一篇博文,利用 PHP 和 Memcache 实现网站,以下链接查看:https://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; }