一、安裝php的Redis擴(kuò)展

1.安裝php的Redis擴(kuò)展
沒(méi)有安裝php的請(qǐng)執(zhí)行如下兩步驟
//php-devel包含phpize和php-config
cd /home/ftp/sha_softWare/php
yum install php-devel安裝php
補(bǔ)充:
php -v //查看php版本
php -m查看是否安裝Redis擴(kuò)展
2.安裝完成后,查看phpize/php-config的路徑

3.下載php的Redis擴(kuò)展
1)解壓縮
unzip develop.zip
2)生成 configure工具
先進(jìn)入解壓縮的文件夾
phpize
ll configure //查看生成的工具
3)使用configure工具,用with-php-config指定php-config的地址
4)make -->make install 編譯
Installing shared extensions: /usr/lib64/php/modules/擴(kuò)展安裝的位置
5)php --ini查看php.ini所在的位置
看到php.int的位置/etc/php.ini
6)打開(kāi)php.ini在最后添加一句
extension=redis.so
7)php -m查看是否安裝成功php的redis擴(kuò)展
二、使用
1.官網(wǎng)地址https://github.com/phpredis/phpredis
2.redis類以及其他所有類都在根下,在其他命令空間下使用redis,最好加上“/redis”
3.接下來(lái)就可以創(chuàng)建一個(gè)連接redis的客戶端,在sha_softWare下創(chuàng)建一個(gè)專門放代碼的文件夾code(mkdir code)
4.創(chuàng)建一個(gè)connect.php(使用vim)
<?php
$redis=new \Redis();
$redis->connect("127.0.0.1",7200);
?>
5.執(zhí)行這個(gè)文件(php connect.php)
三、PHP操作Redis
1.string類型操作
<?php
//連接
$redis=new \Redis();
$redis->connect("127.0.0.1",7200);
//string類型操作
$redis->delete("string1");
$redis->set("string1","val1");
$val=$redis->get("string1");
var_dump($val); //val1
//設(shè)置int類型
$redis->set("string1",4);
$redis->incr("string1",2);
$val=$redis->get("string1");
var_dump($val);//6
?>
2.list操作,經(jīng)常用來(lái)操作一個(gè)隊(duì)列
<?php
$redis=new \Redis();
$redis->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操作
<?php
$redis=new \Redis();
$redis->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的長(zhǎng)度
$count=$redis->sCard("set1");//3,重復(fù)值不計(jì)算在內(nèi)
//以數(shù)組格式打印
$data=$redis->sMembers("set1");
var_dump($data);//Array()
?>
4.Hash用于存儲(chǔ)復(fù)雜的數(shù)據(jù)結(jié)構(gòu)
<?php
$redis=new \Redis();
$redis->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()格式的數(shù)據(jù)
?>
5.sort set(有序集合)經(jīng)常用于排行榜(eg:班級(jí)成績(jī)排名)
<?php
$redis = new \Redis();
$redis->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
?>