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

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. 安装
    • 2. 启动
    • 3. 安装php扩展
    • 4. 编写测试代码

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服务

redis-server.exe redis.windows.conf

启动客户端

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 (有顺序之分)
extension=php_igbinary.dll
extension=php_redis.dll
  1. 重启服务,查看phpinfo()中redis扩展

4. 编写测试代码

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

// 有效时间,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);
            }
        }
    }
}

调用测试

MyRedis::set($redisKey, $result);
echo MyRedis::get($redisKey);

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏源码之家

让phpStudy在windows下也支持伪静态规则文件

1886
来自专栏cnblogs

半小时入门Thrift

      当一个单体软件产品体量达到一定程序,都会想到拆分为不同的模块(当今这么流行微服务)。拆分后一定会存在进程之间的交互(简称:PRC),那么thrift...

1407
来自专栏跟着阿笨一起玩NET

.Net下收发邮件第三方公共库

http://www.lumisoft.ee/lswww/download/downloads/Net/

2011
来自专栏james大数据架构

log4net 中错误 System.Web.HttpException (0x80004005): 文件不存在

用日志组件,Global 中配置的输出最后一个错误信息,总是出现下面的错误信息: 2014-04-01 14:35:41,757 级别:ERROR 信息:[Ex...

2085
来自专栏ytkah

Laravel展示产品-CRUD之show

  上一篇讲了Laravel创建产品-CRUD之Create and Store,现在我们来做产品展示模块,用到是show,①首先我们先修改controller...

843
来自专栏菩提树下的杨过

温故而知新:HttpApplication,HttpModule,HttpContext及Asp.Net页生命周期

IIS在接到一个新的http请求后,最终会调用asp.net_isapi.dll的ISAPI扩展(特指IIS6.0环境,iis7.0的应用程序池默认为集成方式,...

2075
来自专栏散尽浮华

Redis哨兵模式(sentinel)集群方案部署记录

2104
来自专栏Laoqi's Linux运维专列

Redis的持久化-AOF

3288
来自专栏派森公园

虚拟IP管理系统

9126
来自专栏蓝天

解决“possibly undefined macro: AC_PROG_LIBTOOL”

今天特别花1688在51buy.com上买了台同方的笔记本用于mooon的开发,先是安装了Fedora,觉得不好,想安装openSuSE,但发现安装包太大,最后...

2083

扫码关注云+社区

领取腾讯云代金券