PHP使用redis實(shí)現(xiàn)統(tǒng)計(jì)緩存mysql壓力的方法
本文實(shí)例講述了PHP使用redis實(shí)現(xiàn)統(tǒng)計(jì)緩存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);
*/
希望本文所述對(duì)大家php程序設(shè)計(jì)有所幫助。
相關(guān)文章
關(guān)于WordPress的SEO優(yōu)化相關(guān)的一些PHP頁面腳本技巧
這篇文章主要介紹了關(guān)于WordPress的SEO優(yōu)化相關(guān)的一些PHP頁面腳本技巧,包括區(qū)分顯示頁面標(biāo)題和關(guān)鍵字等,需要的朋友可以參考下2015-12-12
PHP框架Laravel插件Pagination實(shí)現(xiàn)自定義分頁
這篇文章主要為大家詳細(xì)介紹了PHP框架Laravel5.1插件Pagination實(shí)現(xiàn)自定義分頁的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05
PHP設(shè)計(jì)模式之單例模式原理與實(shí)現(xiàn)方法分析
這篇文章主要介紹了PHP設(shè)計(jì)模式之單例模式原理與實(shí)現(xiàn)方法,簡(jiǎn)單介紹了單例模式的概念、功能、組成并結(jié)合實(shí)例形式分析了php定義與使用單例模式的相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
利用phpExcel實(shí)現(xiàn)Excel數(shù)據(jù)的導(dǎo)入導(dǎo)出(全步驟詳細(xì)解析)
本人的這段例程是使用在Thinkphp的開發(fā)框架上,要是使用在其他框架也是同樣的方法,很多人可能不能正確的實(shí)現(xiàn)Excel的導(dǎo)入導(dǎo)出,問題基本上都是phpExcel的核心類引用路徑出錯(cuò),如果有問題大家務(wù)必要對(duì)路勁是否引用正確進(jìn)行測(cè)試2013-11-11
apache+codeigniter 通過.htcaccess做動(dòng)態(tài)二級(jí)域名解析
今天將服務(wù)器php版本升到了5.4.4,然后將之前的一個(gè)項(xiàng)目改用apache,動(dòng)態(tài)二級(jí)轉(zhuǎn)向用.htcaccess實(shí)現(xiàn)了動(dòng)態(tài)二級(jí)域名解析,共享一下2012-07-07
php數(shù)組函數(shù)序列之a(chǎn)rray_sum() - 計(jì)算數(shù)組元素值之和
array_sum() 函數(shù)返回?cái)?shù)組中所有值的總和。如果所有值都是整數(shù),則返回一個(gè)整數(shù)值。如果其中有一個(gè)或多個(gè)值是浮點(diǎn)數(shù),則返回浮點(diǎn)數(shù)2011-10-10
SQL server不支持utf8 php卻用utf8的矛盾問題解決方法
這篇文章主要介紹了SQL server不支持utf8 php卻用utf8的矛盾問題解決方法,需要的朋友可以參考下2020-03-03

