• 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等数据结构存储

  • 相关阅读:
    mysql之四.表介绍
    mysql之三.mysql的工作流程
    mysql之二.mysql中的存储引擎
    mysql之一.初识mysql
    数据及表结构的导出
    迭代器和生成器
    python字符串格式化的几种方式
    关于global 和 nonlocal你需要注意的问题
    请编写一个函数实现将IP地址转换成一个整数
    Python中__repr__和__str__区别
  • 原文地址:https://www.cnblogs.com/freelyflying/p/6741515.html
Copyright © 2020-2023  润新知