安装php_redis扩展Windows环境下

一、下载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


123

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');
12345

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

 

$redis=new \Redis();1

三、使用PHP操作redis

3.1 redis链接操作

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

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

3.2 string类型的操作

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

//string
$redis->set('name','redis');
echo $redis->get('name');123456

输出的结果如下:

redis1

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")));12345678

输出的结果如下:

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

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');1234567

输出的结果如下:

array(3) {
  [0] => string(1) "c"
  [1] => string(1) "b"
  [2] => string(1) "a"
}

从右边弹出的元素是:a1234567

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"));123456789

输出的结果如下:

set's lenth:3

array(3) {
  [0] => string(1) "b"
  [1] => string(1) "c"
  [2] => string(1) "a"
}
12345678

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));12345678

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

zset's lenth:3

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

123456789

另外,附上PHP_redis扩展的github地址:https://github.com/PHPredis/PHPredis/
--------------------- 
作者:头像是我爱豆 
来源:CSDN 
原文:https://blog.csdn.net/u014800380/article/details/78417940 
版权声明:本文为博主原创文章,转载请附上博文链接

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...