安装php_redis扩展(Windows环境下)

来源:互联网 发布:nba2016数据 编辑:程序博客网 时间:2024/06/10 15:36

一、下载PHP扩展

1.1 需要明确PHP的版本,下载对应的扩展

通过查看PHP的配置页,如下:
这里写图片描述

可以看到,我的PHP架构是X86的,扩展是要下载TS(thread safe),VC11的

1.2 下载对应的扩展

通过下面官网找到对应的扩展:

  • php_igbinary-2.0.1-5.6-ts-vc11-x86.zip:http://pecl.php.net/package/igbinary
  • php_redis-2.2.7-5.6-ts-vc11-x86.zip:http://pecl.php.net/package/redis

1.3 解压扩展包

解压缩后,将php_redis.dll, php_redis.pdb 和 igbinary.dll 拷贝至php安装目录下的ext下。

1.4 修改php.ini

修改PHP的配置文件,在文件中加入下面两行(不要将先后顺序调换)

extension=php_igbinary.dll extension=php_redis.dll

1.5 重启服务器

  • 如果下载的扩展不是对应PHP版本的,在重启服务器的时候,就会报错,出现类似“找不到php7st.dll”的问题。

验证php_redis扩展安装成功

法一:查看PHP配置页面

如果安装扩展成功,就可以在PHP配置页面看到redis的版本信息

这里写图片描述

法二:写代码验证

开启redis服务端和客户端之后,编写如下代码,即可在网页让看到redis中的数据

    $redis=new Redis();$redis->connect('127.0.0.1',6379);$redis->set('name','redis');echo $redis->get('name');

如果是在thinkphp框架中的话,使用上面的代码会出现“Class ‘Redis’ not found无法找到类”的错误,只需要将第一行代码稍微改一下就可以了

 $redis=new \Redis();

三、使用PHP操作redis

3.1 redis的链接操作

需要注意的是,Redis类位于根目录下,所以在调用Redis类时,如果出现找不到Redis类的情况,就加上“\”。

$redis=new \Redis();$redis->connect('127.0.0.1',6379);

3.2 string类型的操作

$redis=new \Redis();$redis->connect('127.0.0.1',6379);//string$redis->set('name','redis');echo $redis->get('name');

输出的结果如下:

redis

3.3 hash类型的操作

$redis=new \Redis();$redis->connect('127.0.0.1',6379);        $redis->hSet("myhash","name","zhangsan");        $redis->hSet("myhash","age",25);        $redis->hSet("myhash","gender","男");        $redis->hSet("myhash","job","driver");        dump($redis->hMGet("myhash",array("name","age","gender","job")));

输出的结果如下:

array(4) {  ["name"] => string(8) "zhangsan"  ["age"] => string(2) "25"  ["gender"] => string(3) "男"  ["job"] => string(6) "driver"}

3.4 list类型的操作

$redis=new \Redis();        $redis->connect('127.0.0.1',6379);        //list        $redis->lPush('mylist',"a");        $redis->lPush('mylist',"b");        $redis->lPush('mylist',"c");        echo $redis->rPop('mylist');

输出的结果如下:

array(3) {  [0] => string(1) "c"  [1] => string(1) "b"  [2] => string(1) "a"}从右边弹出的元素是:a

3.5 set类型的操作

$redis=new \Redis();$redis->connect('127.0.0.1',6379);        $redis->sAdd("myset","a");        $redis->sAdd("myset","a");        $redis->sAdd("myset","b");        $redis->sAdd("myset","c");        echo "set's lenth:".$redis->sCard("myset");        dump($redis->sMembers("myset"));

输出的结果如下:

set's lenth:3array(3) {  [0] => string(1) "b"  [1] => string(1) "c"  [2] => string(1) "a"}

3.6 sorted-set类型的操作

$redis=new \Redis();        $redis->connect('127.0.0.1',6379);        $redis->delete("myzset");        $redis->zAdd("myzset",90,"zhangsan");        $redis->zAdd("myzset",100,"lisi");        $redis->zAdd("myzset",96,"wangwu");        echo "zset's lenth:".$redis->zCard("myzset");        dump($redis->zRange("myzset",0,-1));

输出从低到高,结果如下:

zset's lenth:3array(3) {  [0] => string(8) "zhangsan"  [1] => string(6) "wangwu"  [2] => string(4) "lisi"}

另外,附上php_redis扩展的github地址:https://github.com/phpredis/phpredis/

原创粉丝点击