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

以前写过一篇博文,利用 PHP 和 Memcache 实现网站,以下链接查看:http://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;
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
memcache
wordpress memcache、php memcache实例、memcache 实例、spring memcache 实例、memcache 应用实例,以便于您获取更多的相关知识。

时间: 2024-09-12 12:26:54

PHP+Memcache实现wordpress访问总数统计(非插件)_php实例的相关文章

CI(CodeIgniter)简单统计访问人数实现方法[原创]_php实例

本文实例讲述了CI(CodeIgniter)简单统计访问人数实现方法.分享给大家供大家参考,具体如下: 废话不说,先上代码: 控制器文件: /application/controllers/hello.php 如下: <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Hello extends CI_Controller { public function index() { echo

thinkPHP多域名情况下使用memcache方式共享session数据的实现方法_php实例

本文实例讲述了thinkPHP多域名情况下使用memcache方式共享session数据的实现方法.分享给大家供大家参考,具体如下: 一.问题起源 稍大一些的网站,通常都会有好几个服务器,每个服务器运行着不同功能的模块,使用不同的二级域名,而一个整体性强的网站,用户系统是统一的,即一套用户名.密码在整个网站的各个模块中都是可以登录使用的.各个服务器共享用户数据是比较容易实现的,只需要在后端放个数据库服务器,各个服务器通过统一接口对用户数据进行访问即可.但还存在一个问题,就是用户在这个服务器登录之

PHP中使用memcache存储session的三种配置方法_php实例

1.直接修改php.ini配置文件 复制代码 代码如下: session.save_handler = memcache //设置session的储存方式为memcache memcache.hash_strategy = "consistent"//设置memcache的hash算法 session.save_path = "tcp://127.0.0.100:11211" //设置session储存的位置,多台memcache用逗号隔开,例如:tcp://127

php+mysql不用递归实现的无限级分类实例(非递归)_php实例

要实现无限级分类,递归一般是第一个也是最容易想到的,但是递归一般被认为占用资源的方法,所以很多系统是不考虑使用递归的 本文还是通过数据库的设计,用一句sql语句实现 数据库字段大概如下: 复制代码 代码如下: id 编号 fid 父分类编号 class_name 分类名 path 分类路径,以 id 为节点,组成类似 ,1,2,3,4, 这样的字符串 可以假设有如下的数据: 复制代码 代码如下: id fid class_name path 1  0       分类1 ,       1, 2

wamp下修改mysql访问密码的解决方法_php实例

学习php,使用了wamp安装包来搭建php+apache+mysql的环境,wamp官方下载地址:http://www.wampserver.com/en/  .但是wamp默认的用户名是'root',密码是空.现在我需要把密码改成自己想要的字符串.我的wamp的安装目录是"d:\wamp". 在网上搜索了一下,试过好多次,有的不可行,比如直接修改"D:\wamp\apps\phpmyadmin3.4.10.1\config.inc.php"文件,将 复制代码 代

绿盟科技网络安全威胁周报2017.18 ​WordPress 远程代码执行/非授权重置密码漏洞CVE-2017-8295

绿盟科技发布了本周安全通告,周报编号NSFOCUS-17-18,绿盟科技漏洞库本周新增36条,其中高危5条.本次周报建议大家关注 WordPress 远程代码执行/非授权重置密码漏洞 . CVE-2016-10033是之前phpmailer在不同场景下的新利用,漏洞可使未经身份验证的远程攻击者在Web服务器用户上下文中执行任意代码,远程控制目标web应用.CVE-2017-8295存在于WordPress 4.7.4之前版本,远程攻击者通过构造密码重置请求,并伪造Host HTTP标识头,可以获

网站分析工具深度讲解之访问来源统计(三)

中介交易 SEO诊断 淘宝客 云主机 技术大厅 相关文章: 关于访问来源统计的"商业背景"和"技术背景"请查看网站分析工具深度讲解之访问来源统计(一) 关于访问来源统计的"虚拟工具"和"现实工具"请查看网站分析工具深度讲解之访问来源统计(二) 分析思路扩展 1. 访问来源概要 访问来源概要提供来到网站访客的方式分布情况,站长根据这些数据来判断网站推广/营销方面的效果,但这些数据的别后又暗藏着很多的陷阱,怎么样躲过数据别后这样那

使用PHP实现蜘蛛访问日志统计

本篇文章是对使用PHP实现蜘蛛访问日志统计的代码进行了详细的分析介绍,需要的朋友参考下   复制代码 代码如下: $useragent = addslashes(strtolower($_SERVER['HTTP_USER_AGENT']));  if (strpos($useragent, 'googlebot')!== false){$bot = 'Google';}  elseif (strpos($useragent,'mediapartners-google') !== false){

memcached-使用memcache和直接访问数据库的性能比较

问题描述 使用memcache和直接访问数据库的性能比较 20C 我今天在VMWare搭建的CentOS系统上用apache ab对一个URL发起压力测试.发现用memcache还不如直接访问数据库速度快一些. memcache几乎每次都能命中,大约每秒处理400个请求. 直接访问mysql大约每秒处理600个请求. 我用stats和stats slabs命令查看memcached的执行情况,也没发现什么状况.执行情况我放在附件中. 请问这是什么原因? 解决方案 数据库性能比较