3 window安装PHP的redis扩展

时间:2022-06-09 17:28:24

目录(?)[-]

  1. 安装PHP的redis扩展
  2. redismysql实现缓存写入的简单尝试



安装PHP的redis扩展

在windows下安装php的redis扩展非常简单,下载一个.dll扩展包放到php的ext目录下,在php.ini里边添加一行配置就可以了.

这里提供php5.3版本的redis的php扩展压缩包(里面有个dll):https://github.com/nicolasff/phpredis/downloads

3 window安装PHP的redis扩展



解压后把dll放到php的ext目录下,打开php.ini,增加一行:

extension=php_igbinary.dll

extension=php_redis.dll


注意:extension=php_igbinary.dll一定要放在extension=php_redis.dll的前面,否则此扩展不会生效

检测是否安装成功,可以打开phpinfo看下:

3 window安装PHP的redis扩展


redis+mysql实现缓存写入的简单尝试


3 window安装PHP的redis扩展



[html] view plaincopyprint?
  1. <?php  
  2. /**  
  3.  *   
  4.  * 缓存利用测试,这里我们获取传过来的投票数据,每次加1,如果增加到了设定值,才将投票  
  5.  * 次数写回mysql,这大大减轻了与mysql链接的开销,redis的使用由此可见一斑  
  6.  * @var unknown_type  
  7.  * @来自:www.crazyant.net和www.51projob.com  
  8.  */  
  9.   
  10. //获取投票的信息的ID  
  11. $aid = isset($_GET['aid']) ? ereg_replace("[^0-9]", "", $_GET['aid']) : 0;  
  12.   
  13. //当前投票的数字,指的是在redis中的数据  
  14. $this_click_num = 0;  
  15.   
  16. if($aid>2){  
  17.     //设定写回的投票数的最大值,到了此值就写回mysql  
  18.     $update_till_num = 50;  
  19.       
  20.     //创建redis对象  
  21.     $r = new Redis();  
  22.     $r->connect('127.0.0.1',6379);   
  23.     //得到现在是第几个数据了  
  24.     $this_click_num = $r->get('count_xin_newgame:'.$aid);  
  25.     //点击数加1  
  26.     $r->set('count_xin_newgame:'.$aid,$this_click_num+1);  
  27.     if($this_click_num>=$update_till_num)  
  28.     {  
  29.         //如果点击数超过了设定数,那么就把数据写到mysql  
  30.         if($this_click_num>$update_till_num)  
  31.         require_once(dirname(__FILE__)."/db.php");  
  32.         //更新数据库  
  33.         $db->ExecuteNoneQuery(  
  34.             "UPDATE `addonnewgame`   
  35.                 SET `game_num` = game_num + '{$update_till_num}'   
  36.                 WHERE `dede_addonnewgame`.`aid` ={$aid};"  
  37.         );  
  38.         //重置投票数目为0  
  39.         $r->set('count_xin_newgame:'.$aid,0);  
  40.     }  
  41.     $r->setTimeout('count_xin_newgame:'.$aid,7*24*60*60);  
  42.     exit($this_click_num);  
  43. }  
  44. ?>