linux下安装redis和phpredis扩展

一、安装redis

  1.下载redis-3.2.3.tar.gz

  wget http://download.redis.io/releases/redis-3.2.3.tar.gz

  2.解压redis-3.2.3.tar.gz

  tar -zxvf redis-3.2.3.tar.gz

  3.解压完成后,安装

  cd redis-3.2.3

  make && make install

  4.切换到utils,执行redis初始化脚本install_server.sh

  cd utils

  ./install_server.sh

  至此,redis安装完毕。

二、安装phpredis扩展

  1.下载phpredis-2.2.4.tar.gz

  wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz

  2.解压phpredis-2.2.4.tar.gz

  tar -zxvf phpredis-2.2.4.tar.gz

  3.进入安装目录

  cd phpredis-2.2.4

  4.用phpize生成configure配置文件

  /usr/bin/phpize   #phpize的目录可能不同,执行命令find / -name phpize找到phpize所在的目录,如果没有找到phpize,可执行命令:yum install php-devel

  5.配置

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

  6.编译安装

  make && make install

  至此,phpredis安装完毕

  7.启动及进入redis服务命令

  启动:redis-server 6379.conf

  进入:redis-cli  

三、配置PHP支持

  vim /etc/php.ini

  添加extension=redis.so

  :wq

四、封装redis类

<?php
class MyRedis{
    private static $handler;

    private static function handler(){
        if(!self::$handler){
            self::$handler = new Redis();
            self::$handler -> connect('127.0.0.1','6379');
        }
        return self::$handler;
    }
    //获取缓存值
    public static function get($key){
        $value = self::handler() -> get($key);
        $value_serl = @unserialize($value);
        if(is_object($value_serl)||is_array($value_serl)){
            return $value_serl;
        }
        return $value;
    }
   //设置缓存值 
    public static function set($key,$value){
        if(is_object($value)||is_array($value)){
            $value = serialize($value);
        }

        return self::handler() -> set($key,$value);
    }
    //设置缓存值(含有时间)
    public static function setex($key,$time,$value){
        if(is_object($value)||is_array($value)){
            $value = serialize($value);
        }

        return self::handler() -> setex($key,$time,$value);
    }
     //删除缓存
    public static function del($key){
        return self::handler() -> del($key);
    }
}

 五、redis和memcache的异同之处

  1.redis和memcache都是用来管理数据的。

  2.他们的数据都是放在内存里面,所以读取的速度就比较快

  3.redis可以定期将数据备份到磁盘(永久化),而memcache做不到

  4.Memcache只是简单的key/value缓存

  5.redis不仅支持简单的key/value数据缓存,同时还提供list,set,hash等数据结构存储

原文地址:https://www.cnblogs.com/freelyflying/p/6741515.html