37.PHP使用Redis
通过 PHP 使用 Redis 之前,同样需要做一些准备工作,首先你应该熟练掌握 PHP 语言,再者是已经安装了 PHP Redis 扩展程序。本节内容是专门为 PHP 程序开发人员准备的。
安装扩展程序
首先下载 PHP Redis 扩展程序(点击前往),下载的扩展程序要与 Redis 版本相符合。当下载完成后,将文件解压至 phpredis 目录,然后执行以下安装命令:
$ cd phpredis-5.0.1 # 进入 phpredis 目录
/usr/local/php/bin/phpize #用phpize生成configure配置文件
./configure --with-php-config=/usr/local/php/bin/php-config
$ suodo make #编译
$ suodo make install #安装
注意,上述安装命令在 Ubuntu 环境下执行。
编辑 php.ini 配置文件,在文件末尾添加如下语句:
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20190711"
extension = redis.so
重启 apache 或者 php-fpm,并查看 phpinfo 信息,就能看到 Redis 扩展已经安装完成。
连接Redis服务器
实例如下:
- <?php
- //连接本地的 Redis 服务
- $redis = new Redis();
- $redis->connect(‘127.0.0.1’, 6379);
- echo “连接成功”;
- //检查服务是否运行
- echo “服务器正在运行: “ . $redis->ping();
- ?>
程序运行结果:
连接成功
服务器正在运行:PONG
PHP Redis字符串
实例如下:
- <?php
- //连接本地的 Redis 服务
- $redis = new Redis();
- $redis->connect(‘127.0.0.1’, 6379);
- echo “服务器连接成功”;
- //设置 redis 字符串数据
- $redis->set(“webname”, “www.biancheng.net”);
- // 获取存储的数据并输出
- echo “获取网站名: “ . $redis->get(“webname”);
- ?>
程序运行结果:
服务器连接成功
获取网站名:www.biancheng.net
PHP Redis列表
实例如下:
- <?php
- //连接本地的 Redis 服务
- $redis = new Redis();
- $redis->connect(‘127.0.0.1’, 6379);
- echo “服务器连接成功”;
- //存储数据到列表中
- $redis->lpush(“course_list”, “Python”);
- $redis->lpush(“course_list”, “Java”);
- $redis->lpush(“course_list”, “PHP”);
- // 获取存储的数据并输出
- $arList = $redis->lrange(“course_list”, 0 ,2);
- echo “获取列表元素:”;
- print_r($arList);
- ?>
程序运行结果:
服务器连接成功
获取网站名:
PHP
Java
Python
PHP Redis哈希
实例如下:
- <?php
- //连接本地的 Redis 服务
- $redis = new Redis();
- $redis->connect(‘127.0.0.1’, 6379);
- echo “服务器连接成功”;
- //存储数据到散列
- $hash_value=[‘username_1’=>‘Jack’,‘username_1’=>‘Helen’]
- $redis->hmset(“user”, $hash_value);
- // 获取存储的数据并输出
- $result=$redis->hget(‘user’,‘username_1’)
- echo “获取用户名”;
- print_r($result);
- ?>
程序运行结果:
服务器连接成功
获取用户名:
Jack
PHP Redis键
实例如下:
- <?php
- //连接本地的 Redis 服务
- $redis = new Redis();
- $redis->connect(‘127.0.0.1’, 6379);
- echo “服务器连接成功”;
- // 查看所有key
- $arList = $redis->keys(“*”);
- echo “获取所有键: “;
- print_r($arList);
- ?>
程序运行结果:
服务器连接成功
获取所有键:
webname
user
course_list