PHP 使用 Redis

在 PHP 中使用 Redis 前的环境准备,

  • 确保 已经安装了 redis 服务

  • 确保 已经安装了 PHP redis 驱动,

  • 你的电脑安装好了php环境,而且能正常使用php

  • 下载 PHP 拓展 redis 包 : https://github.com/nicolasff/phpredis

  • PHP安装redis扩展

    /opt/modules/php/bin/phpize              #php安装后的路径
    ./configure --with-php-config=/opt/modules/php/bin/php-config
    make && make install
    
  • 修改php.ini文件

    vi /opt/modules/php/lib/php.ini
    增加如下内容:
    extension_dir = "/opt/modules/php/lib/php/extensions/no-debug-zts-20090626"
    extension=redis.so
    
  • 安装完成后重启php-fpm 或 apache。

    在 index.php 编写如下

    <?php
      phpinfo();
    ?>
    

    你就能看到redis扩展。

连接到 redis 服务

<?php     
    $redis = new Redis();   
    $redis->connect('127.0.0.1', 6379);
    echo "connect redis  sucessfully";
    echo "redis server is up ? "+ $redis->ping();
?>

执行脚本,输出结果为:

connect redis  sucessfully
redis server is up ? PONG

PHP Redis set String(字符串)

<?php   
    $redis = new Redis();   
    $redis->connect('127.0.0.1', 6379);
    echo "connect redis  sucessfully";
    //设置 redis 字符串数据
    $redis->set("tutorial-name", "Redis tutorial");
    // 获取存储的数据并输出
    echo "Stored string in redis: " . $redis->get("tutorial-name");
?>

执行脚本,输出结果为:

connect redis  sucessfully
Stored string in redis: Redis tutorial

PHP Redis List(列表)

<?php    
    $redis = new Redis();   
    $redis->connect('127.0.0.1', 6379);
    echo "connect redis  sucessfully";
    //存储数据到列表中
    $redis->lpush("tutorial-list", "qq");
    $redis->lpush("tutorial-list", "baidu");
    $redis->lpush("tutorial-list", "alibaba");
    // 获取存储的数据并输出
    $arList = $redis->lrange("tutorial-list", 0 ,5);
    echo "Stored string in redis: "
    print_r($arList);
?>

执行脚本,输出结果为:

connect redis  sucessfully
Stored string in redis:
qq
baidu
alibaba

PHP Redis Keys 实例

<?php    
    $redis = new Redis();   
    $redis->connect('127.0.0.1', 6379);
    echo "connect redis  sucessfully";
    // 获取数据并输出
    $arList = $redis->keys("*");
    echo "Stored keys in redis: "
    print_r($arList);
?>

执行脚本,输出结果为:

connect redis  sucessfully
Stored string in redis:
tutorial-name
tutorial-list