一、安装php的Redis扩展
1.安装php的Redis扩展
没有安装php的请执行如下两步骤
//php-devel包含phpize和php-config
cd /home/ftp/sha_softWare/php
yum install php-devel安装php
补充:
php -v //查看php版本
php -m查看是否安装Redis扩展
2.安装完成后,查看phpize/php-config的路径
3.下载php的Redis扩展
1)解压缩
unzip develop.zip
2)生成 configure工具
先进入解压缩的文件夹
phpize
ll configure //查看生成的工具
3)使用configure工具,用with-php-config指定php-config的地址
4)make -->make install 编译
Installing shared extensions: /usr/lib64/php/modules/扩展安装的位置
5)php --ini查看php.ini所在的位置
看到php.int的位置/etc/php.ini
6)打开php.ini在最后添加一句
extension=redis.so
7)php -m查看是否安装成功php的redis扩展
二、使用
1.官网地址https://github.com/phpredis/phpredis
2.redis类以及其他所有类都在根下,在其他命令空间下使用redis,最好加上“/redis”
3.接下来就可以创建一个连接redis的客户端,在sha_softWare下创建一个专门放代码的文件夹code(mkdir code)
4.创建一个connect.php(使用vim)
connect("127.0.0.1",7200);
?>
5.执行这个文件(php connect.php)
三、PHP操作Redis
1.string类型操作
connect("127.0.0.1",7200);
//string类型操作
$redis->delete("string1");
$redis->set("string1","val1");
$val=$redis->get("string1");
var_dump($val); //val1
//设置int类型
$redis->set("string1",4);
$redis->incr("string1",2);
$val=$redis->get("string1");
var_dump($val);//6
?>
2.list操作,经常用来操作一个队列
connect("127.0.0.1","7200");
//先删除list1
$redis->delete("list1");
//list集合
$redis->lpush("list1","13");
$redis->lpush("list1","14");
$redis->lpush("list1","15");
$val=$redis->rpop("list1");
var_dump($val);
?>
3.set操作
connect("127.0.0.1","7200");
$redis->delete("set1");
$redis->sAdd("set1","A");
$redis->sAdd("set1","B");
$redis->sAdd("set1","C");
$redis->sAdd("set1","C");
//求set1的长度
$count=$redis->sCard("set1");//3,重复值不计算在内
//以数组格式打印
$data=$redis->sMembers("set1");
var_dump($data);//Array()
?>
4.Hash用于存储复杂的数据结构
connect("127.0.0.1","7200");
$redis->delete("diver");
$redis->hSet("diver","name","Danny");
$redis->hSet("diver","age",25);
$redis->hSet("diver","gender","男");
//获取diver的name
$name = $redis->hGet("diver","name");
var_dump($name);
//获取diver的所有信息
$diver = $redis->hMGet("diver",array("name","age","gender"));
var_dump($diver); //array()格式的数据
?>
5.sort set(有序集合)经常用于排行榜(eg:班级成绩排名)
connect("127.0.0.1","7200");
$redis->delete("zset1");
$redis->zAdd("zset1",90,"Danny");
$redis->zAdd("zset1",20,"Jenny");
$redis->zAdd("zset1",70,"LiMing");
//从低到高排序
$val=$redis->zRange("zset1",0,-1);
var_dump($val);//Jenny,LiMing,Danny
//从高到低排序
$data=$redis->zRevRange("zset1",0,-1);
var_dump($data);//Danny,LiMing,Jenny
?>