PHP+Memcache实现wordpress访问总数统计(非插件)


Posted in PHP onJuly 04, 2014

以前写过一篇博文,利用 PHP 和 Memcache 实现网站,以下链接查看:https://3water.com/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;
}
PHP 相关文章推荐
PHP的FTP学习(二)[转自奥索]
Oct 09 PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
Sep 19 PHP
php中3种方法统计字符串中每种字符的个数并排序
Aug 27 PHP
PHP获取MAC地址的具体实例
Dec 13 PHP
ThinkPHP之R方法实例详解
Jun 20 PHP
PHP中几个可以提高运行效率的代码写法、技巧分享
Aug 21 PHP
一款简单实用的php操作mysql数据库类
Dec 08 PHP
SAE实时日志接口SDK用法示例
Oct 09 PHP
php arsort 数组降序排序详细介绍
Nov 17 PHP
Yii 访问 Gii(脚手架)时出现 403 错误
Jun 06 PHP
PHP赋值的内部是如何跑的详解
Jan 13 PHP
PHP实现的微信公众号扫码模拟登录功能示例
May 30 PHP
php+memcache实现的网站在线人数统计代码
Jul 04 #PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
Jul 04 #PHP
CodeIgniter安全相关设置汇总
Jul 03 #PHP
php使用pack处理二进制文件的方法
Jul 03 #PHP
PHP源码分析之变量的存储过程分解
Jul 03 #PHP
ThinkPHP让分页保持搜索状态的方法
Jul 02 #PHP
ThinkPHP实现批量删除数据的代码实例
Jul 02 #PHP
You might like
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
php使用glob函数遍历文件和目录详解
2016/09/23 PHP
关于php 高并发解决的一点思路
2017/04/16 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
Laravel 之url参数,获取路由参数的例子
2019/10/21 PHP
精解window.setTimeout()&window.setInterval()使用方式与参数传递问题!
2007/11/23 Javascript
在js中判断checkboxlist(.net控件客户端id)是否有选中
2013/04/11 Javascript
jquery实现兼容IE8的异步上传文件
2015/06/15 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
javascript基于prototype实现类似OOP继承的方法
2015/12/16 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
2016/12/11 Javascript
史上最全JavaScript常用的简写技巧(推荐)
2017/08/17 Javascript
AngularJS实时获取并显示密码的方法
2018/02/06 Javascript
Vue-cli Eslint在vscode里代码自动格式化的方法
2018/02/23 Javascript
.netcore+vue 实现压缩文件下载功能
2020/09/24 Javascript
[01:03:42]VP vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
详解Python编程中包的概念与管理
2015/10/16 Python
python实现红包裂变算法
2016/02/16 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
2019/08/27 Python
python实现的发邮件功能示例
2019/09/11 Python
Python3使用 GitLab API 进行批量合并分支
2020/10/15 Python
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
Nixon手表英国官网:美国尼克松手表品牌
2020/02/10 全球购物
英国豪华家具和经典家居饰品购物网站:OKA
2020/06/05 全球购物
cf收人广告词大全
2014/03/14 职场文书
婚前财产公证书
2014/04/10 职场文书
试用期员工工作自我评价
2014/09/10 职场文书
村主任“四风”问题个人整改措施
2014/10/04 职场文书
关于运动会广播稿50字
2014/10/18 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
MySQL获取所有分类的前N条记录
2021/05/07 MySQL
Win7/8.1用户可以免费升级到Windows 11系统吗?
2021/11/21 数码科技