更新时间:2024-10-24 GMT+08:00

Phpredis客户端连接Redis(PHP)

本章节介绍使用phpredis客户端连接Redis的方法。更多的客户端的使用方法请参考Redis客户端

以下操作以通过弹性云服务器上的客户端连接Redis实例为例进行说明。

本章节操作,仅适用于连接单机、主备、Proxy集群实例,如果是使用phpredis客户端连接Cluster集群,请参考phpredis客户端使用说明

前提条件

  • 已成功创建Redis实例,且状态为“运行中”。创建Redis实例的操作请参考购买Redis实例
  • 已创建弹性云服务器,创建弹性云服务器的方法,请参见购买弹性云服务器
  • 如果弹性云服务器为Linux系统,该弹性云服务器必须已经安装gcc编译环境。
  • 连接实例前确保客户端与Redis实例之间网络互通,具体请参考连接Redis网络要求

Phpredis客户端连接Redis

  1. 查看并获取待连接Redis实例的IP地址/域名和端口。

    具体步骤请参见查看和修改DCS实例基本信息

  2. 登录弹性云服务器。

    本章节以弹性云服务器操作系统为centos为例介绍通过phpredis redis客户端连接实例。

  3. 安装gcc-c++及make等编译组件。

    yum install gcc-c++ make

  4. 安装php开发包与命令行工具。

    执行如下命令,使用yum方式直接安装。

    yum install php-devel php-common php-cli

    安装完后可查看版本号,确认成功安装:

    php --version

  5. 安装php redis客户端。

    1. 下载php redis源文件。

      wget http://pecl.php.net/get/redis-5.3.7.tgz

      仅以该版本作为示例,您还可以去redis官网或者php官网下载其他版本的phpredis客户端。

    2. 解压php redis源文件包。

      tar -zxvf redis-5.3.7.tgz

      cd redis-5.3.7

    3. 编译前先执行扩展命令。

      phpize

    4. 配置php-config文件。

      ./configure --with-php-config=/usr/bin/php-config

      不同操作系统,不同的php安装方式,该文件位置不一样。建议在配置前,先查找和确认该文件的目录:

      find / -name php-config

    5. 编译和安装php redis客户端。

      make && make install

    6. 安装完后在php.ini文件中增加extension配置项,用于增加redis模块的引用配置。

      vim /etc/php.ini

      增加如下配置项:

      extension = "/usr/lib64/php/modules/redis.so"

      php.ini和redis.so两个文件的目录可能不同,需要先查找确认。

      例如:find / -name php.ini

    7. 保存退出后确认扩展生效。

      php -m |grep redis

      如果以上命令返回了redis,表示php redis客户端环境搭建好了。

  6. 使用php redis客户端连接Redis实例。

    1. 编辑一个redis.php文件:
      <?php
          $redis_host = "{redis_instance_address}";
          $redis_port = {port};
          $user_pwd = "{password}";
          $redis = new Redis();
          if ($redis->connect($redis_host, $redis_port) == false) {
             die($redis->getLastError());
          }
          if ($redis->auth($user_pwd) == false) {
              die($redis->getLastError());
          }
          if ($redis->set("welcome", "Hello, DCS for Redis!") == false) {
              die($redis->getLastError());
          }
          $value = $redis->get("welcome");
          echo $value;
          $redis->close();
      ?>

      其中,{redis_instance_address}为Redis实例的IP地址/域名,{port}为Redis实例的端口。IP地址/域名和端口获取见1,请按实际情况修改后执行。{password}为创建Redis实例时自定义的密码,请按实际情况修改后执行。如果免密访问,请将密码认证的if语句屏蔽。

    2. 执行php redis.php,连接Redis实例。