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和XSS跨站攻击的防范
Apr 17 PHP
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
Jul 01 PHP
PHP Socket 编程
Apr 09 PHP
php UTF-8、Unicode和BOM问题
May 18 PHP
php 随机排序广告的实现代码
May 09 PHP
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
Jul 28 PHP
标准版Eclipse搭建PHP环境的详细步骤
Nov 18 PHP
php制作简单模版引擎
Apr 07 PHP
PHP模板引擎Smarty内建函数section,sectionelse用法详解
Apr 11 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 PHP
PHP实现获取url地址中顶级域名的方法示例
Jun 05 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 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
为查询结果建立向后/向前按钮
2006/10/09 PHP
PHP学习之整理字符串
2011/04/17 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
Laravel修改验证提示信息为中文的示例
2019/10/23 PHP
tp5.1框架数据库子查询操作实例分析
2020/05/26 PHP
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
将Datatable转化成json发送前台实现思路
2013/09/06 Javascript
jquery绑定事件不生效的解决方法
2014/02/11 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
2014/03/06 Javascript
jQuery中的编程范式详解
2014/12/15 Javascript
Javascript中call和apply函数的比较和使用实例
2015/02/03 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
JavaScript中this的四个绑定规则总结
2016/09/26 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
JS基于递归实现倒计时效果的方法
2016/11/26 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
vue 的点击事件获取当前点击的元素方法
2018/09/15 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
React中使用外部样式的3种方式(小结)
2019/05/28 Javascript
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
Python JSON格式数据的提取和保存的实现
2019/03/22 Python
python flask框架实现传数据到js的方法分析
2019/06/11 Python
在VS2017中用C#调用python脚本的实现
2019/07/31 Python
Python实现bilibili时间长度查询的示例代码
2020/01/14 Python
金融专业个人的自我评价
2013/10/18 职场文书
语文教育专业应届生求职信
2013/11/23 职场文书
军训自我鉴定
2014/01/22 职场文书
医院保洁服务方案
2014/06/11 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL
PO模式在selenium自动化测试框架的优势
2022/03/20 Python