php操作Redis

一、安装php的Redis扩展


redis-php.png

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的路径


php-config路径.png

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)

 <?php
 $redis=new \Redis();
 $redis->connect("127.0.0.1",7200);
 ?>

5.执行这个文件(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
  
  //设置int类型
  $redis->set("string1",4);
  $redis->incr("string1",2);
  $val=$redis->get("string1");
  var_dump($val);//6
?>

2.list操作,经常用来操作一个队列

<?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的长度 
  $count=$redis->sCard("set1");//3,重复值不计算在内

  //以数组格式打印
  $data=$redis->sMembers("set1");
  var_dump($data);//Array()
?>

4.Hash用于存储复杂的数据结构

<?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()格式的数据
 ?>

5.sort set(有序集合)经常用于排行榜(eg:班级成绩排名)

<?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
?>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • redis这个新产品在sns时很火,而memcache早就存在, 但redis提供出来的功能,好多网站均把它当me...
    常晓晓阅读 997评论 1 8
  • 扩展安装 yum install php-devel//通过yum命令安装php开发扩展包 具体步骤 下载phpr...
    liamu阅读 208评论 0 1
  • 首先php连接redis集群有两个扩展:predis 和 phpredis predis:纯php开发,使用了命名...
    Uzero阅读 1,845评论 0 1
  • 坐在教室里,阳光照在身上暖暖的。看着天空有灰朦变得湛蓝,天上的云飘荡出数不清的形状。听着老师在前面说着我无心去倾听...
    娜写明天阅读 353评论 2 0
  • 对于医药的包装都不会陌生,但是包装不单单是对对药品的一个装饰、好看,更多的是把药品的服用、疗效表明,使病人对药品有...
    筑梦家圆阅读 241评论 0 0