您的位置:首页 > 数据库 > Redis

安装php_redis扩展(Windows环境下)

2017-11-01 20:01 791 查看

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

array(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:3

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


另外,附上php_redis扩展的github地址:https://github.com/phpredis/phpredis/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 扩展