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 将字符串按大写字母分隔成字符串数组
Apr 30 PHP
php 操作符与控制结构
Mar 07 PHP
PHP 代码规范小结
Mar 08 PHP
PHP怎么实现网站保存快捷方式方便用户随时浏览
Aug 15 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
Mar 21 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
Mar 23 PHP
PHP编写登录验证码功能 附调用方法
May 19 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
Nov 09 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
Dec 15 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
PHP实现随机数字、字母的验证码功能
Aug 01 PHP
php访问对象中的成员的实例方法
Nov 17 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 构造函数construct的前下划线是双的_
2009/12/08 PHP
php中将html中的br换行符转换为文本输入中的换行符
2013/03/26 PHP
php中autoload的用法总结
2013/11/08 PHP
php实现Linux服务器木马排查及加固功能
2014/12/29 PHP
php生出随机字符串
2017/07/06 PHP
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
javascript实现复选框超过限制即弹出警告框的方法
2015/02/25 Javascript
JS实现的4种数字千位符格式化方法分享
2015/03/02 Javascript
javascript 应用小技巧方法汇总
2015/07/05 Javascript
百度地图api如何使用
2015/08/03 Javascript
JavaScript易错知识点整理
2016/12/05 Javascript
json2.js 入门教程之使用方法与实例分析
2017/09/14 Javascript
Angular使用过滤器uppercase/lowercase实现字母大小写转换功能示例
2018/03/27 Javascript
nodejs基础之多进程实例详解
2018/12/27 NodeJs
JS使用new操作符创建对象的方法分析
2019/05/30 Javascript
Websocket 向指定用户发消息的方法
2020/01/09 Javascript
JavaScript随机数的组合问题案例分析
2020/05/16 Javascript
python多线程编程方式分析示例详解
2013/12/06 Python
python自动化测试之setUp与tearDown实例
2014/09/28 Python
Python进阶-函数默认参数(详解)
2017/05/18 Python
python抽取指定url页面的title方法
2018/05/11 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
2018/10/14 Python
pycharm创建一个python包方法图解
2019/04/10 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
python有序查找算法 二分法实例解析
2020/02/18 Python
html5构建触屏网站之网站尺寸探讨
2013/01/07 HTML / CSS
HTML5逐步分析实现拖放功能的方法
2020/09/30 HTML / CSS
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
小米官方旗舰店:Xiaomi
2020/08/07 全球购物
MVC的各个部分都有那些技术来实现?如何实现?
2016/04/21 面试题
电子信息科学专业自荐信
2014/01/30 职场文书
《三顾茅庐》教学反思
2014/04/10 职场文书
网球场地租赁协议范本
2014/10/07 职场文书
优秀团支部申报材料
2014/12/26 职场文书
语文复习计划
2015/01/19 职场文书
党小组意见范文
2015/06/08 职场文书