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 相关文章推荐
自动跳转中英文页面
Oct 09 PHP
一个程序下载的管理程序(四)
Oct 09 PHP
帖几个PHP的无限分类实现想法~
Jan 02 PHP
php自动获取字符串编码函数mb_detect_encoding
May 31 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
Feb 04 PHP
使用php实现下载生成某链接快捷方式的解决方法
May 07 PHP
php实现兼容2038年后Unix时间戳转换函数
Mar 18 PHP
php中preg_match的isU代表什么意思
Oct 01 PHP
总结PHP删除字符串最后一个字符的三种方法
Aug 30 PHP
PHP goto语句用法实例
Aug 06 PHP
php定期拉取数据对比方法实例
Sep 22 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
Oct 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入门速成(2)
2006/10/09 PHP
php Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
php数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
2017/04/10 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
php实现简单的守护进程创建、开启与关闭操作
2019/08/13 PHP
laravel框架与其他框架的详细对比
2019/10/23 PHP
学习ExtJS accordion布局
2009/10/08 Javascript
关于jquery append() html时的小问题的解决方法
2010/12/16 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
热点新闻滚动特效的js代码
2013/08/17 Javascript
利用jquery写的左右轮播图特效
2014/02/12 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
让javascript加载速度倍增的方法(解决JS加载速度慢的问题)
2014/12/12 Javascript
jQuery实现根据类型自动显示和隐藏表单
2015/03/18 Javascript
JavaScript入门基础
2015/08/12 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
深入理解JavaScript中的对象复制(Object Clone)
2016/05/18 Javascript
jQuery下拉框的简单应用
2016/06/24 Javascript
JS轮播图实现简单代码
2021/02/19 Javascript
如何手动实现es5中的bind方法详解
2018/12/07 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
动态实现element ui的el-table某列数据不同样式的示例
2021/01/22 Javascript
Pycharm制作搞怪弹窗的实现代码
2021/02/19 Python
特步官方商城:Xtep
2017/03/21 全球购物
写clone()方法时,通常都有一行代码,是什么?
2012/10/31 面试题
班级德育工作实施方案
2014/02/21 职场文书
政风行风建设责任书
2014/07/23 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
护士年终个人总结
2015/02/13 职场文书
肖申克救赎观后感
2015/06/02 职场文书
瞿秋白纪念馆观后感
2015/06/10 职场文书
企业宣传稿范文
2015/07/23 职场文书
初中物理教学反思
2016/02/19 职场文书
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android