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

Predis客户端连接Redis(PHP)

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

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

前提条件

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

Predis客户端连接Redis

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

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

  2. 登录弹性云服务器。
  3. 安装php开发包与命令行工具。执行如下命令,使用yum方式直接安装。

    yum install php-devel php-common php-cli

  4. 安装完后可查看版本号,确认成功安装。

    php --version

  5. 将Predis包下载到/usr/share/php目录下。

    1. 通过以下命令下载Predis源文件。
      wget https://github.com/predis/predis/archive/refs/tags/v2.2.2.tar.gz

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

    2. 解压Predis源文件包。
      tar -zxvf predis-2.2.2.tar.gz
    3. 将解压好的predis目录重命名为“predis”,并移动到/usr/share/php/下。
      mv predis-2.2.2 predis

  6. 编辑一个文件连接redis。

    • 使用redis.php文件连接Redis单机/主备/Proxy集群示例:
      <?php
          require 'predis/autoload.php';
          Predis\Autoloader::register();
          $client = new Predis\Client([
            'scheme' => 'tcp' ,
            'host'     => '{redis_instance_address}' ,
            'port'     =>{port} ,
            'password' => '{password}' 
          ]);
          $client->set('foo', 'bar');
          $value = $client->get('foo');
          echo $value;
      ?>
    • 使用redis-cluster.php连接Redis Cluster集群代码示例:
      <?php
         require 'predis/autoload.php';
              $servers = array(
               'tcp://{redis_instance_address}:{port}' 
              );
             $options = array('cluster' => 'redis');
             $client = new Predis\Client($servers, $options);
             $client->set('foo', 'bar');
             $value = $client->get('foo');
             echo $value;
      ?>

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

  7. 执行php redis.php连接Redis实例。