前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >redis及php扩展配置(windows+php5) 【原创】

redis及php扩展配置(windows+php5) 【原创】

作者头像
CS逍遥剑仙
发布2018-04-28 12:05:45
6480
发布2018-04-28 12:05:45
举报
文章被收录于专栏:禅林阆苑禅林阆苑

redis及php扩展配置(windows+php5)

Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github.com/csxiaoyaojianxian Email: sunjianfeng@csxiaoyao.com QQ: 1724338257

目录导航

  • redis及php扩展配置(windows+php5)
      1. 安装
      1. 启动
      1. 安装php扩展
      1. 编写测试代码

1. 安装

redis官方github链接:https://github.com/antirez/redis

redis官方默认没有windows版本,微软提供的一个版本:https://github.com/MicrosoftArchive/redis

文件说明: redis-server.exe:服务程序 redis-check-dump.exe:本地数据库检查 redis-check-aof.exe:更新日志检查 redis-benchmark.exe:性能测试,用以模拟同时由N个客户端发送M个 SETs/GETs 查询

2. 启动

使用默认配置启动redis服务

代码语言:javascript
复制
redis-server.exe redis.windows.conf

启动客户端

代码语言:javascript
复制
redis-cli.exe -h 127.0.0.1 -p 6379 

3. 安装php扩展

  1. 下载扩展:https://github.com/nicolasff/phpredis/downloads(注意版本)
  2. 将下载的 php_redis.dll 放如php扩展目录(ext)中,并修改配置文件 php.ini (有顺序之分)
代码语言:javascript
复制
extension=php_igbinary.dll
extension=php_redis.dll
  1. 重启服务,查看phpinfo()中redis扩展

4. 编写测试代码

编写redis公共类,支出对象与数组的序列化与反序列化

代码语言:javascript
复制
// 有效时间,0 代表永久有效,单位 s
define('REDIS_TTL', 15);

class MyRedis{

    private static $handler;

    private static function handler(){
        if(ALLOW_REDIS == false){
            return false;
        }
        if(!self::$handler){
            self::$handler = new Redis();
            self::$handler -> connect(REDIS_HOST,REDIS_PORT);
            self::$handler -> auth(REDIS_AUTH);
        }
        return self::$handler;
    }

    public static function get($key){
        if(ALLOW_REDIS == false){
            return false;
        }else{
            $value = self::handler() -> get($key);
            $value_serl = @unserialize($value);
            if(is_object($value_serl)||is_array($value_serl)){
                return $value_serl;
            }
            return $value;
        }
    }

    /**
     * @param $key
     * @param $value
     * @param int $timeDiff 与 REDIS_TTL 的时差
     * @return bool
     */
    public static function set($key,$value,$timeDiff=0){
        if(ALLOW_REDIS == false){
            return false;
        }else{
            if(is_object($value)||is_array($value)){
                $value = serialize($value);
            }
            if(REDIS_TTL){
                return self::handler() -> setex($key,REDIS_TTL+$timeDiff,$value);
            }else{
                return self::handler() -> set($key,$value);
            }
        }
    }
}

调用测试

代码语言:javascript
复制
MyRedis::set($redisKey, $result);
echo MyRedis::get($redisKey);

【By CS逍遥剑仙】 未经允许不得转载:禅林阆苑 » redis及php扩展配置(windows+php5) 【原创】

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-08-01分,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • redis及php扩展配置(windows+php5)
    • 目录导航
      • 1. 安装
        • 2. 启动
          • 3. 安装php扩展
            • 4. 编写测试代码
            相关产品与服务
            云数据库 Redis
            腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档