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); //移除集合内多个元素

 

 

 

posted @ 2018-04-03 19:21  taoing  阅读(194)  评论(0编辑  收藏  举报