首页 > 数据库 > Redis > 正文

PHP 利用redis 做统计缓存mysql的压力

2020-03-17 12:44:03
字体:
来源:转载
供稿:网友
PHP 利用redis 做统计缓存mysql的压力,代码如下:


  1. <?php 
  2.     header("Content-Type:text/html;charset=utf-8"); 
  3.     include 'lib/mysql.class.php'
  4.     $mysql_obj = mysql::getConn(); 
  5.     //redis  
  6.     $redis = new Redis(); 
  7.     $redis->pconnect('127.0.0.1', 6379); 
  8.  
  9.     if(isset($_SERVER['HTTP_REFERER'])){ 
  10.         $url_md5 = md5($_SERVER['HTTP_REFERER']); 
  11.     } 
  12.     $adve_key = 'adve';  
  13.     $adve_key_exists = 'adve_exists'
  14.     if(!$redis->exists($adve_key_exists)){ 
  15.         $list = $mysql_obj->fetch_array("select * from user_online_adve"); 
  16.         if($list){ 
  17.             foreach ($list as $key => $value) { 
  18.                 $url_hash = md5($value['adve_url']); 
  19.                 $adve_hash_key = $adve_key.":".$url_hash
  20.                 $id = $value['id']; 
  21.                 $redis->set($adve_hash_key,$id); 
  22.                 $redis->set($adve_key_exists,true); 
  23.                 //$redis->hmset($adve_hash_key, array('id' =>$id)); 
  24.                 //print_r($redis->get($adve_hash_key)); 
  25.             } 
  26.         } 
  27.     } 
  28.     $adve_new_key = $adve_key.':'.$url_md5
  29.     if($redis->exists($adve_new_key)){ 
  30.             $adve_plus = $adve_new_key.":plus" ; 
  31.  
  32.             if(!$redis->exists($adve_plus)){ 
  33.                 $redis->set($adve_plus,1);   
  34.             }else
  35.                 $redis->incr($adve_plus); 
  36.                 $num = $redis->get($adve_plus); 
  37.                 if($num >10){ 
  38.                     $id = $redis->get($adve_new_key); 
  39.                     // insert to sql; 
  40.                     $mysql_obj->query("update user_online_adve set adve_num=adve_num+$num where id=$id"); 
  41.                     $redis->set($adve_plus,1); 
  42.                 } 
  43.             } 
  44.     } 
  45.     header('HTTP/1.0 301 Moved Permanently'); 
  46.     header('Location: https://itunes.apple.com/cn/app/san-guo-zhi15-ba-wangno-da-lu/id694974270?mt=8'); 
  47.  
  48.  
  49. /* 
  50.     if(){ 
  51.             $adve_plus = $adve_key.":plus" ; 
  52.             if($redis->exists($adve_plus)){ 
  53.                 $redis->incr($adve_plus); 
  54.             }else{ 
  55.                 $redis->set($adve_plus,1);   
  56.             } 
  57.             echo $redis->get($adve_plus); 
  58.     } 
  59.  
  60.     foreach ($list as $key => $value) { 
  61.             $url_hash = md5($value['adve_url']); 
  62.             $id = $value['id']; 
  63.             $adve_num = $value['adve_num']; 
  64.             $adve_plus = $adve_key.":plus" ; 
  65.             if($redis->exists($adve_plus)){ 
  66.                 $redis->incr($adve_plus); 
  67.             }else{ 
  68.                 $redis->set($adve_plus,1);   
  69.             } 
  70.             echo $redis->get($adve_plus); 
  71.             //if($redis->) 
  72.             //$redis->hmset($adve_key, array('id' =>$id, 'adve_num'=>$adve_num)); 
  73.             //print_r($redis->hmget("adve:$url_hash", array('adve_num'))); 
  74.     } 
  75.  
  76.  
  77.         print_r($list); 
  78. */ 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表