PHP使用redis实现统计缓存mysql压力的方法
更新时间:2015年11月14日 11:30:20 作者:jackluo
这篇文章主要介绍了PHP使用redis实现统计缓存mysql压力的方法,涉及PHP操作MySQL数据库及使用Redis统计的相关技巧,需要的朋友可以参考下
本文实例讲述了PHP使用redis实现统计缓存mysql压力的方法。分享给大家供大家参考,具体如下:
<?php
header("Content-Type:text/html;charset=utf-8");
include 'lib/mysql.class.php';
$mysql_obj = mysql::getConn();
//redis
$redis = new Redis();
$redis->pconnect('127.0.0.1', 6379);
if(isset($_SERVER['HTTP_REFERER'])){
$url_md5 = md5($_SERVER['HTTP_REFERER']);
}
$adve_key = 'adve';
$adve_key_exists = 'adve_exists';
if(!$redis->exists($adve_key_exists)){
$list = $mysql_obj->fetch_array("select * from user_online_adve");
if($list){
foreach ($list as $key => $value) {
$url_hash = md5($value['adve_url']);
$adve_hash_key = $adve_key.":".$url_hash;
$id = $value['id'];
$redis->set($adve_hash_key,$id);
$redis->set($adve_key_exists,true);
//$redis->hmset($adve_hash_key, array('id' =>$id));
//print_r($redis->get($adve_hash_key));
}
}
}
$adve_new_key = $adve_key.':'.$url_md5;
if($redis->exists($adve_new_key)){
$adve_plus = $adve_new_key.":plus" ;
if(!$redis->exists($adve_plus)){
$redis->set($adve_plus,1);
}else{
$redis->incr($adve_plus);
$num = $redis->get($adve_plus);
if($num >10){
$id = $redis->get($adve_new_key);
// insert to sql;
$mysql_obj->query("update user_online_adve set adve_num=adve_num+$num where id=$id");
$redis->set($adve_plus,1);
}
}
}
header('HTTP/1.0 301 Moved Permanently');
header('Location: https://itunes.apple.com/cn/app/san-guo-zhi15-ba-wangno-da-lu/id694974270?mt=8');
/*
if(){
$adve_plus = $adve_key.":plus" ;
if($redis->exists($adve_plus)){
$redis->incr($adve_plus);
}else{
$redis->set($adve_plus,1);
}
echo $redis->get($adve_plus);
}
foreach ($list as $key => $value) {
$url_hash = md5($value['adve_url']);
$id = $value['id'];
$adve_num = $value['adve_num'];
$adve_plus = $adve_key.":plus" ;
if($redis->exists($adve_plus)){
$redis->incr($adve_plus);
}else{
$redis->set($adve_plus,1);
}
echo $redis->get($adve_plus);
//if($redis->)
//$redis->hmset($adve_key, array('id' =>$id, 'adve_num'=>$adve_num));
//print_r($redis->hmget("adve:$url_hash", array('adve_num')));
}
print_r($list);
*/
希望本文所述对大家php程序设计有所帮助。
相关文章
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
这篇文章主要介绍了关于WordPress的SEO优化相关的一些PHP页面脚本技巧,包括区分显示页面标题和关键字等,需要的朋友可以参考下2015-12-12
PHP框架Laravel插件Pagination实现自定义分页
这篇文章主要为大家详细介绍了PHP框架Laravel5.1插件Pagination实现自定义分页的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-05-05
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
本人的这段例程是使用在Thinkphp的开发框架上,要是使用在其他框架也是同样的方法,很多人可能不能正确的实现Excel的导入导出,问题基本上都是phpExcel的核心类引用路径出错,如果有问题大家务必要对路劲是否引用正确进行测试2013-11-11
apache+codeigniter 通过.htcaccess做动态二级域名解析
今天将服务器php版本升到了5.4.4,然后将之前的一个项目改用apache,动态二级转向用.htcaccess实现了动态二级域名解析,共享一下2012-07-07
php数组函数序列之array_sum() - 计算数组元素值之和
array_sum() 函数返回数组中所有值的总和。如果所有值都是整数,则返回一个整数值。如果其中有一个或多个值是浮点数,则返回浮点数2011-10-10
SQL server不支持utf8 php却用utf8的矛盾问题解决方法
这篇文章主要介绍了SQL server不支持utf8 php却用utf8的矛盾问题解决方法,需要的朋友可以参考下2020-03-03


最新评论