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服务了,启动成功如下图:

Windows系统下PHP使用Redis

Windows系统下PHP使用Redis

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

Windows系统下PHP使用Redis

Windows系统下PHP使用Redis

2. 下载phpredis扩展  

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

Windows系统下PHP使用Redis

2. PHP配置安装扩展

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

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

extension=php_igbinary.dll
extension=php_redis.dll

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

Windows系统下PHP使用Redis

4. 开启Redis服务,测试

Windows系统下PHP使用Redis
    $redis = new Redis();
//连接redis服务器
$redis->connect('127.0.0.1', '6379');
echo "Connection to server sucessfully <br/>"; //查看服务是否运行
echo "Server is running: " . $redis->ping();
Windows系统下PHP使用Redis

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

Connection to server sucessfully
Server is running: +PONG

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

Windows系统下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); //移除集合内多个元素
 
上一篇:Python+Selenium笔记(六):元素定位


下一篇:CDN服务技术架构图