zoukankan      html  css  js  c++  java
  • Windows系统下PHP使用Redis

    参考链接:https://www.cnblogs.com/lhat/p/6402472.html

    环境:windows 10  64位操作系统

         php 5.4

        redis 3.0

    1.redis的下载,安装

      刚开始是使用https://github.com/MicrosoftArchive/redis/releases下载windows下的redis的,但无奈于网速太慢(架了梯子也没用)。后来在其github中找到了下面的下载地址:

    https://github.com/ServiceStack/redis-windows/raw/master/downloads/redis-latest.zip

       

      windows 运行(快捷键:windows键+R键),输入【cmd】命令,进入DOC操作系统窗口;

    进入redis安装目录使用命令

    1. redis-server  redis.windows.conf  

    启动redis 服务,此窗口无需关闭,关闭窗口就停止redis服务了,启动成功如下图:

    新打开一个doc窗口,进入安装目录执行客户端启动命令【redis-cli】或者直接双击redis-cli.exe进行测试命令,创建并获取name值为tao数据:

    2. 下载phpredis扩展  

      执行phpinfo()函数,根据下面截图中的“NTS”和“VCn”选择对应的压缩包,https://github.com/phpredis/phpredis/downloads。另外注意,PHP版本也要对应好。

    2. PHP配置安装扩展

      首先把压缩包中的 php_igbinary.dll和php_redis.dll 文件放到PHP安装目录的 ext 目录中

      然后在 php.ini 添加如下配置

    extension=php_igbinary.dll
    extension=php_redis.dll

     

    3. 重启apache,执行phpinfo()函数,会发现多了redis的扩展。

     4. 开启Redis服务,测试

    复制代码
        $redis = new Redis();
        //连接redis服务器
        $redis->connect('127.0.0.1', '6379');
        echo "Connection to server sucessfully <br/>";
    
        //查看服务是否运行
        echo "Server is running: " . $redis->ping();
    复制代码

    结果如下,连接redis服务器成功

    Connection to server sucessfully 
    Server is running: +PONG

    至此,我们可以在php中痛痛快快的使用redis了。

    复制代码
     1     $redis = new Redis();
     2     //连接redis服务器
     3     $redis->connect('127.0.0.1', '6379');
     4 
     5 
     6     $key = "key";
     7     $val = "val";
     8 
     9     //redis key操作
    10     $redis->exists($key);           //判断key值是否存在
    11     $redis->expire($key, 10);       //设置key在10秒后过期
    12 
    13     //redis string 字符串
    14     $redis->set($key, $val);
    15     $redis->incr($key);         //key值+1,除非val是整数,否则函数执行失败
    16     $redis->decr($key);         //key值-1,同上
    17     $redis->append($key, "ue"); //追加key值内容
    18     $redis->strlen($key);       //返回key值的长度
    19 
    20     //当第一次设置key值后,key值的数据类型就不能改变了。
    21     $redis->del($key);  //删除key值
    22 
    23     //redis hash 哈希
    24     $redis->hset($key, 'field1', 'val1');   //设置一个key-value键值对
    25     $redis->hmset($key, array('field2'=>'val2', 'field3'=>'val3'));    //设置多个k-v键值对
    26     $redis->hget($key, 'field2');           //获取hash其中的一个键值
    27     $redis->hmget($key, array('field2', 'field1'));    //获取hash的多个键值
    28     $redis->hgetall($key);  //获取hash中所有的键值对
    29     $redis->hlen($key);     //获取hash中键值对的个数
    30     $redis->hkeys($key);   //获取hash中所有的键
    31     $redis->hvals($key);    //获取hash中所有的值
    32     $redis->del($key);  //删除key值
    33 
    34     //redis list 列表
    35     $index = $start = 0;
    36     $redis->lpush($key, 'val1', 'val2');    //在list的开头添加多个值
    37     $redis->lpop($key); //移除并获取list的第一个元素
    38     $redis->rpop($key); //移除并获取list的最后一个元素
    39     $stop = $redis->llen($key) - 1; //获取list的长度
    40     $redis->lindex($key, $index);   //通过索引获取list元素
    41     $redis->lrange($key, $start, $stop);    //获取指定范围内的元素
    42 
    43     $redis->del($key);
    44 
    45     //redis set 无序集合
    46     $redis->sadd($key, 'val1', 'val2'); //向集合中添加多个元素
    47     $redis->scard($key);    //获取集合元素个数
    48     $redis->spop($key); //移除并获取集合内随机一个元素
    49     $redis->srem($key, 'val1', 'val2'); //移除集合的多个元素
    50     $redis->sismember($key, 'val1');    //判断元素是否存在于集合内
    51 
    52     $redis->del($key);
    53     //redis sorted set 有序集合
    54     //有序集合里的元素都和一个分数score关联,就靠这个分数score对元素进行排序
    55     $redis->zadd($key, $score1, $val1, $score2, $val2); //向集合内添加多个元素
    56     $redis->zcard($key);    //获取集合内元素总数
    57     $redis->zcount($key, $minScore, $maxScore); //获取集合内分类范围内的元素
    58     $redis->zrem($key, $member1, $member2); //移除集合内多个元素
     
  • 相关阅读:
    【剑指offer】面试题 65. 不用加减乘除做加法
    【剑指offer】面试题 49. 丑数
    【剑指offer】面试题 17. 打印从 1 到最大的 n 位数
    【剑指offer】面试题 16. 数值的整数次方
    【剑指offer】面试题 15. 二进制中 1 的个数
    【剑指offer】面试题 29. 顺时针打印矩阵
    【剑指offer】面试题 28. 对称的二叉树
    InetAddress问题
    quartz与spring集成
    tomcat多项目
  • 原文地址:https://www.cnblogs.com/xiaotaoing/p/8710553.html
Copyright © 2011-2022 走看看