PHP 和 Redis

本文详细介绍了如何在PHP中安装和配置phpredis扩展以访问Redis服务,包括下载扩展、编译安装、修改php.ini、重启服务器以及使用PHP进行Redis的连接、字符串存储/获取、列表操作和键的访问示例。
摘要由CSDN通过智能技术生成

PHP 可以通过 phpredis 扩展访问 Redis

安装 phpredis 扩展

PHP 语言访问 Redis 需要先安装 Redis 服务和 PHP Redis 扩展。

phpredis 扩展官方地址为 GitHub - phpredis/phpredis: A PHP extension for Redis

phpredis 扩展下载地址为: Releases · phpredis/phpredis · GitHub

当前最新的扩展版本为: 3.1.4

1. 使用下面的一些列命令安装这个 phpredis 扩展

$ wget https://github.com/phpredis/phpredis/archive/3.1.4.tar.gz
$ tar zxvf 3.1.4.tar.gz                  # 解压
$ cd phpredis-3.1.4                      # 进入 phpredis 目录
$ /usr/local/php/bin/phpize              # php安装后的路径
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make && sudo make install

如果是 PHP 7 及以上版本,则需要下载指定分支:

git clone -b php7 https://github.com/phpredis/phpredis.git

2. 修改 php.ini 文件

修改 php.ini 文件添加 redis 扩展

vi /usr/local/php/lib/php.ini

增加如下内容:

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20090626"
extension = redis.so

3. 重启 WEB 服务器

安装完成后重启 php-fpm 或 apache,查看 phpinfo 信息,就能看到 redis 扩展

或者输入以下命令来检查

$ php -i | grep redis
/usr/local/etc/php/5.6/conf.d/ext-redis.ini,
redis
Registered save handlers => files user memcache memcached redis rediscluster 

PHP 连接到 Redis 服务

<?php

/*
 * filename: main.php
 * author: 搜云库技术团队(tech.souyunku.com)
 * Copyright © 2015-2065 tech.souyunku.com. All rights reserved.
*/

//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully\n";

//查看服务是否运行
echo "Server is running: " . $redis->ping();
echo "\n";

运行以上 PHP 脚本,输出结果如下

$ php main.php
Connection to server sucessfully
Server is running: +PONG

PHP 存储/获取 Redis 字符串( String )

<?php

/*
 * filename: main.php
 * author: 搜云库技术团队(tech.souyunku.com)
 * Copyright © 2015-2065 tech.souyunku.com. All rights reserved.
*/

//连接本地的 Redis 服务
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully\n";

//设置 redis 字符串数据
$redis->set("site", "tech.souyunku.com");

// 获取存储的数据并输出
echo "Stored string in redis:: " . $redis->get("site");
echo "\n";

运行以上 PHP 脚本,输出结果如下

$ php main.php
Connection to server sucessfully
Stored string in redis:: tech.souyunku.com

PHP 访问 Redis 列表( List )

<?php

/*
 * filename: main.php
 * author: 搜云库技术团队(tech.souyunku.com)
 * Copyright © 2015-2065 tech.souyunku.com. All rights reserved.
*/

//连接本地的 Redis 服务
$redis = new Redis();

$redis->connect('127.0.0.1', 6379);
$redis->flushall();
echo "Connection to server sucessfully\n";

//存储数据到列表中
$redis->lpush("language", "Python2");
$redis->lpush("language", "C++");
$redis->lpush("language", "Perl");

// 获取存储的数据并输出
$arList = $redis->lrange("language", 0 ,5);
echo "Stored string in Redis\n";

print_r($arList);

运行以上 PHP 脚本,输出结果如下

$ php main.php
Connection to server sucessfully
Stored string in Redis
Array
(
    [0] => Perl
    [1] => C++
    [2] => Python2
)

PHP 访问 Redis 键( Keys )

<?php

/*
 * filename: main.php
 * author: 搜云库技术团队(tech.souyunku.com)
 * Copyright © 2015-2065 tech.souyunku.com. All rights reserved.
*/

//连接本地的 Redis 服务
$redis = new Redis();

$redis->connect('127.0.0.1', 6379);
echo "Connection to server sucessfully\n";

// 获取数据并输出
$arList = $redis->keys("*");
echo "Stored keys in redis:: ";
print_r($arList);

运行以上 PHP 脚本,输出结果如下

$ php main.php
Connection to server sucessfully
Stored keys in redis:: Array
(
    [0] => language
)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值