安装PHP的redis扩展
在windows下安装php的redis扩展非常简单,下载一个.dll扩展包放到php的ext目录下,在php.ini里边添加一行配置就可以了.
这里提供php5.3版本的redis的php扩展压缩包(里面有个dll):https://github.com/nicolasff/phpredis/downloads
解压后把dll放到php的ext目录下,打开php.ini,增加一行:
extension=php_igbinary.dll
extension=php_redis.dll
注意:extension=php_igbinary.dll一定要放在extension=php_redis.dll的前面,否则此扩展不会生效
检测是否安装成功,可以打开phpinfo看下:
redis+mysql实现缓存写入的简单尝试
- <?php
- /**
- *
- * 缓存利用测试,这里我们获取传过来的投票数据,每次加1,如果增加到了设定值,才将投票
- * 次数写回mysql,这大大减轻了与mysql链接的开销,redis的使用由此可见一斑
- * @var unknown_type
- * @来自:www.crazyant.net和www.51projob.com
- */
- //获取投票的信息的ID
- $aid = isset($_GET['aid']) ? ereg_replace("[^0-9]", "", $_GET['aid']) : 0;
- //当前投票的数字,指的是在redis中的数据
- $this_click_num = 0;
- if($aid>2){
- //设定写回的投票数的最大值,到了此值就写回mysql
- $update_till_num = 50;
- //创建redis对象
- $r = new Redis();
- $r->connect('127.0.0.1',6379);
- //得到现在是第几个数据了
- $this_click_num = $r->get('count_xin_newgame:'.$aid);
- //点击数加1
- $r->set('count_xin_newgame:'.$aid,$this_click_num+1);
- if($this_click_num>=$update_till_num)
- {
- //如果点击数超过了设定数,那么就把数据写到mysql
- if($this_click_num>$update_till_num)
- require_once(dirname(__FILE__)."/db.php");
- //更新数据库
- $db->ExecuteNoneQuery(
- "UPDATE `addonnewgame`
- SET `game_num` = game_num + '{$update_till_num}'
- WHERE `dede_addonnewgame`.`aid` ={$aid};"
- );
- //重置投票数目为0
- $r->set('count_xin_newgame:'.$aid,0);
- }
- $r->setTimeout('count_xin_newgame:'.$aid,7*24*60*60);
- exit($this_click_num);
- }
- ?>