Redis系列第三篇:PHP操作Redis

一、PHP安装Redis扩展

安装环境
  • 服务器环境:Linux / CentOS 7
  • PHP版本:PHP 7.0.30 (可使用 php -m 命令查看已经安装的php扩展),还需确认是否安装了 phpize 和 php-config 两个工具,如果没有可以用 yum install php-devel 命令安装
  • PHP Redis扩展:wget https://github.com/phpredis/phpredis/archive/develop.zip
安装步骤

1. 解压Redis扩展包

unzip develop.zip 解压,完成之后会有 phpredis-develop 目录。


Redis系列第三篇:PHP操作Redis_第1张图片

2.进入到 phpredis-develop 目录,使用 phpize 生成 configure 工具


Redis系列第三篇:PHP操作Redis_第2张图片

3. 使用 configure 工具

./configure --with-php-config=/usr/bin/php-config (with-php-config 参数的值为 php-config 目录)

4. make、make install 操作

出现 Installing shared extensions: /usr/lib64/php/modules/ 表示PHP 的Redis扩展包已经放到指定的目录


5. 修改 php.ini 文件启用 Redis 扩展

php --ini 命令可以查看 php.ini 文件的所在路径。在php.ini 文件最后添加一行extension=redis.so

6. 查看是否安装成功 (依旧使用 php -m 命令)


Redis系列第三篇:PHP操作Redis_第3张图片

二、PHP 操作 Redis

  • php 操作 redis 说明文档:https://github.com/phpredis/phpredis
  • Redis类命名空间是根,在其他命名空间下使用 Redis 类,需要加上根目录符号
  • phpredis的命令和参数基本和 redis 命令一致
连接
connect('127.0.0.1', 7200);
string 类型
//连接redis
$redis = new \Redis();
$redis->connect('127.0.0.1', 7200);

//string 操作
$redis->delete('string1');
$redis->set('string1', 'value1');
$val = $redis->get('string1');
var_dump($val);

//自增操作
$redis->set('string1', 5);
$redis->incr('string1');
$val = $redis->get('string1');
var_dump($val);
list 类型
connect('127.0.0.1', 7200);

//list 操作
$redis->delete('list1');  //先删除要操作的key

$redis->lPush('list1', 'A');  //从队列的左边压入元素
$redis->lPush('list1', 'B');
$redis->lPush('list1', 'C');

$pop_value = $redis->rPop('list1');  //在队列的右边弹出元素
var_dump($pop_value);  //由于是“先进先出”,所以打印的值应该为 A

set 类型
connect('127.0.0.1', '7200');

//set类型操作
$key = 'set1';
$redis->delete($key); //先删除要操作的key

$redis->sAdd($key, 'A');  //往集合set1插入元素
$redis->sAdd($key, 'B');
$redis->sAdd($key, 'C');
$redis->sAdd($key, 'D');
$redis->sAdd($key, 'D');
$redis->sAdd($key, 'C');

$count_value = $redis->sCard($key);   //获取集合 set1 中元素个数
var_dump($count_value);               //set类型中不能有重复的元素,所以打印结果应该为4

$values = $redis->sMembers($key);     //以数组的形式返回集合 set1 中所有的元素
var_dump($values);
Redis系列第三篇:PHP操作Redis_第4张图片
hash 类型
connect('127.0.0.1', '7200');

$key = 'student1';
$redis->delete($key);

//往key中 添加键值对
$redis->hSet($key, 'name', 'xiaoming');
$redis->hSet($key, 'age', 12);
$redis->hSet($key, 'sex', 1);

//获取key中 name 的值
$name = $redis->hGet($key, 'name');
var_dump($name);

//获取 $key(student1)中所有信息
$student_info = $redis->hMGet($key, array('name', 'age', 'sex'));
var_dump($student_info);
Redis系列第三篇:PHP操作Redis_第5张图片
zset 类型
connect('127.0.0.1', '7200');

$key = 'zset1';
$redis->delete($key);

//向zset1 中添加元素
$redis->zAdd($key, 85, 'xiaoming');
$redis->zAdd($key, 90, 'zhang');
$redis->zAdd($key, 72, 'lee');
$redis->zAdd($key, 99, 'wu');

//按照分数(score)从低到高显示,参数end为-1 表示展示所有
$val = $redis->zRange($key, 0, -1);
var_dump($val);

//从高到低显示
$re = $redis->zRevRange($key, 0, -1);
var_dump($re);
Redis系列第三篇:PHP操作Redis_第6张图片

本文主要讲了PHP安装Redis扩展,PHP操作Redis的五种数据类型。

你可能感兴趣的:(Redis系列第三篇:PHP操作Redis)