Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis支持的数据类型有 Stirng(字符串), List(列表), Hash(字典), Set(集合), Sorted Set(有序集合);

redis版本是Redis 2.6.12 系统是在Windows+Apache2.4+php5.6

连接:

1     //实例化redis
2 $redis = new Redis();
3 //连接
4 $redis->connect('127.0.0.1', 6379);
5 //检测是否连接成功
6 echo "Server is running: " . $redis->ping();
7 // 输出结果 Server is running: +PONG

Strng(字符串):

  // 设置一个字符串的值
$redis->set('cat', 111); //获取一个字符串的值
echo $redis->get('cat'); // 111 // 重复set
$redis->set('cat', 222);
echo $redis->get('cat'); // 222

List(列表):

 1     //列表
2 //存储数据到列表中
3 $redis->lpush('list', 'html');
4 $redis->lpush('list', 'css');
5 $redis->lpush('list', 'php');
6
7 //获取列表中所有的值
8 $list = $redis->lrange('list', 0, -1);
9 print_r($list);echo '<br>';
10
11 //从右侧加入一个
12 $redis->rpush('list', 'mysql');
13 $list = $redis->lrange('list', 0, -1);
14 print_r($list);echo '<br>';
15
16 //从左侧弹出一个
17 $redis->lpop('list');
18 $list = $redis->lrange('list', 0, -1);
19 print_r($list);echo '<br>';
20
21 //从右侧弹出一个
22 $redis->rpop('list');
23 $list = $redis->lrange('list', 0, -1);
24 print_r($list);echo '<br>';
25
26 // 结果
27 // Array ( [0] => php [1] => css [2] => html )
28 // Array ( [0] => php [1] => css [2] => html [3] => mysql )
29 // Array ( [0] => css [1] => html [2] => mysql )
30 // Array ( [0] => css [1] => html )
 1 <?php
2 //实例化redis
3 $redis = new Redis();
4 //连接
5 $redis->connect('127.0.0.1', 6379);
6 //列表
7 //存储数据到列表中
8 $redis->lpush('list', 'html');
9 $redis->lpush('list', 'css');
10 $redis->lpush('list', 'php');
11 $redis->lpush('list', 'mysql');
12 $redis->lpush('list', 'javascript');
13 $redis->lpush('list', 'ajax');
14
15 //获取列表中所有的值
16 $list = $redis->lrange('list', 0, -1);
17 print_r($list);echo '<br>';
18
19 //获取列表的长度
20 $length = $redis->lsize('list');
21 echo $length;echo '<br>';
22
23 //返回列表key中index位置的值
24 echo $redis->lget('list', 2);echo '<br>';
25 echo $redis->lindex('list', 2);echo '<br>';
26
27 //设置列表中index位置的值
28 echo $redis->lset('list', 2, 'linux');echo '<br>';
29 $list = $redis->lrange('list', 0, -1);
30 print_r($list);echo '<br>';
31
32 //返回key中从start到end位置间的元素
33 $list = $redis->lrange('list', 0, 2);
34 print_r($list);echo '<br>';
35
36 $list = $redis->lgetrange('list', 0, 2);
37 print_r($list);echo '<br>';
38
39 //截取链表中start到end的元素
    //截取列表后列表发生变化,列表保留截取的元素,其余的删除
40 $list = $redis->ltrim('list', 0, 1);
41 print_r($list);echo '<br>';
42
43 $list = $redis->lrange('list', 0, -1);
44 print_r($list);echo '<br>';
45 // 结果
46 // Array ( [0] => ajax [1] => javascript [2] => mysql [3] => php [4] => css [5] => html )
47 // 6
48 // mysql
49 // mysql
50 // 1
51 // Array ( [0] => ajax [1] => javascript [2] => linux [3] => php [4] => css [5] => html )
52 // Array ( [0] => ajax [1] => javascript [2] => linux )
53 // Array ( [0] => ajax [1] => javascript [2] => linux )
54 // 1
55 // Array ( [0] => ajax [1] => javascript )
 1 <?php
2 //实例化redis
3 $redis = new Redis();
4 //连接
5 $redis->connect('127.0.0.1', 6379);
6 //列表
7 //存储数据到列表中
8 $redis->lpush('list', 'html');
9 $redis->lpush('list', 'html');
10 $redis->lpush('list', 'html');
11 $redis->lpush('list', 'css');
12 $redis->lpush('list', 'php');
13 $redis->lpush('list', 'mysql');
14 $redis->lpush('list', 'javascript');
15 $redis->lpush('list', 'html');
16 $redis->lpush('list', 'html');
17 $redis->lpush('list', 'html');
18 $redis->lpush('list', 'ajax');
19
20 //获取列表中所有的值
21 $list = $redis->lrange('list', 0, -1);
22 print_r($list);echo '<br>';
23
24 //删除列表中count个值为value的元素
25 //从左向右删
26 $redis->lrem('list', 'html', 2);
27 $list = $redis->lrange('list', 0, -1);
28 print_r($list);echo '<br>';
29
30 //从右向左删
31 $redis->lrem('list', 'html', -2);
32 $list = $redis->lrange('list', 0, -1);
33 print_r($list);echo '<br>';
34
35 //删除所有
36 $redis->lrem('list', 'html', 0);
37 $list = $redis->lrange('list', 0, -1);
38 print_r($list);echo '<br>';
39
40 // 结果
41 // Array ( [0] => ajax [1] => html [2] => html [3] => html [4] => javascript [5] => mysql [6] => php [7] => css [8] => html [9] => html [10] => html )
42 // Array ( [0] => ajax [1] => html [2] => javascript [3] => mysql [4] => php [5] => css [6] => html [7] => html [8] => html )
43 // Array ( [0] => ajax [1] => html [2] => javascript [3] => mysql [4] => php [5] => css [6] => html )
44 // Array ( [0] => ajax [1] => javascript [2] => mysql [3] => php [4] => css )

Hash(字典):

 1 <?php
2 //实例化redis
3 $redis = new Redis();
4 //连接
5 $redis->connect('127.0.0.1', 6379);
6 //字典
7 //给hash表中某个key设置value
8 //如果没有则设置成功,返回1,如果存在会替换原有的值,返回0,失败返回0
9 echo $redis->hset('hash', 'cat', 'cat');echo '<br>';
10 echo $redis->hset('hash', 'cat', 'cat');echo '<br>';
11 echo $redis->hset('hash', 'cat', 'cat1');echo '<br>';
12 echo $redis->hset('hash', 'dog', 'dog');echo '<br>';
13 echo $redis->hset('hash', 'bird', 'bird');echo '<br>';
14 echo $redis->hset('hash', 'monkey', 'monkey');echo '<br>';
15 //获取hash中某个key的值
16 echo $redis->hget('hash', 'cat');echo '<br>';
17
18 //获取hash中所有的keys
19 $arr = $redis->hkeys('hash');
20 print_r($arr);echo '<br>';
21
22 //获取hash中所有的值 顺序是随机的
23 $arr = $redis->hvals('hash');
24 print_r($arr);echo '<br>';
25
26 //获取一个hash中所有的key和value 顺序是随机的
27 $arr = $redis->hgetall('hash');
28 print_r($arr);echo '<br>';
29
30 //获取hash中key的数量
31 echo $redis->hlen('hash');echo '<br>';
32
33 //删除hash中一个key 如果表不存在或key不存在则返回false
34 echo $redis->hdel('hash', 'dog');echo '<br>';
35 var_dump($redis->hdel('hash', 'rabbit'));echo '<br>';
36
37 // 结果
38 // 1
39 // 0
40 // 0
41 // 1
42 // 1
43 // 1
44 // cat1
45 // Array ( [0] => cat [1] => dog [2] => bird [3] => monkey )
46 // Array ( [0] => cat1 [1] => dog [2] => bird [3] => monkey )
47 // Array ( [cat] => cat1 [dog] => dog [bird] => bird [monkey] => monkey )
48 // 4
49 // 1
50 // int(0)
 1 <?php
2 //实例化redis
3 $redis = new Redis();
4 //连接
5 $redis->connect('127.0.0.1', 6379);
6 //字典
7 //批量设置多个key的值
8 $arr = [1=>1, 2=>2, 3=>3, 4=>4, 5=>5];
9 $redis->hmset('hash', $arr);
10 print_r($redis->hgetall('hash'));echo '<br>';
11
12 // 批量获得额多个key的值
13 $arr = [1, 2, 3, 5];
14 $hash = $redis->hmget('hash', $arr);
15 print_r($hash);echo '<br>';
16
17 //检测hash中某个key知否存在
18 echo $redis->hexists('hash', '1');echo '<br>';
19 var_dump($redis->hexists('hash', 'cat'));echo '<br>';
20
21 print_r($redis->hgetall('hash'));echo '<br>';
22
23 //给hash表中key增加一个整数值
24 $redis->hincrby('hash', '1', 1);
25 print_r($redis->hgetall('hash'));echo '<br>';
26
27 //给hash中的某个key增加一个浮点值
28 $redis->hincrbyfloat('hash', 2, 1.3);
29 print_r($redis->hgetall('hash'));echo '<br>';
30
31 //结果
32 // Array ( [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 )
33 // Array ( [1] => 1 [2] => 2 [3] => 3 [5] => 5 )
34 // 1
35 // bool(false)
36 // Array ( [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 )
37 // Array ( [1] => 2 [2] => 2 [3] => 3 [4] => 4 [5] => 5 )
38 // Array ( [1] => 2 [2] => 3.3 [3] => 3 [4] => 4 [5] => 5 )

Set(集合):

 1 <?php
2 //实例化redis
3 $redis = new Redis();
4 //连接
5 $redis->connect('127.0.0.1', 6379);
6 //集合
7 // 添加一个元素
8 echo $redis->sadd('set', 'cat');echo '<br>';
9 echo $redis->sadd('set', 'cat');echo '<br>';
10 echo $redis->sadd('set', 'dog');echo '<br>';
11 echo $redis->sadd('set', 'rabbit');echo '<br>';
12 echo $redis->sadd('set', 'bear');echo '<br>';
13 echo $redis->sadd('set', 'horse');echo '<br>';
14
15 // 查看集合中所有的元素
16 $set = $redis->smembers('set');
17 print_r($set);echo '<br>';
18
19 //删除集合中的value
20 echo $redis->srem('set', 'cat');echo '<br>';
21 var_dump($redis->srem('set', 'bird'));echo '<br>';
22
23 $set = $redis->smembers('set');
24 print_r($set);echo '<br>';
25
26 //判断元素是否是set的成员
27 var_dump($redis->sismember('set', 'dog'));echo '<br>';
28 var_dump($redis->sismember('set', 'bird'));echo '<br>';
29
30 //查看集合中成员的数量
31 echo $redis->scard('set');echo '<br>';
32
33 //移除并返回集合中的一个随机元素(返回被移除的元素)
34 echo $redis->spop('set');echo '<br>';
35
36 print_r($redis->smembers('set'));echo '<br>';
37
38 // 结果
39 // 1
40 // 0
41 // 1
42 // 1
43 // 1
44 // 1
45 // Array ( [0] => rabbit [1] => cat [2] => bear [3] => dog [4] => horse )
46 // 1
47 // int(0)
48 // Array ( [0] => dog [1] => rabbit [2] => horse [3] => bear )
49 // bool(true)
50 // bool(false)
51 // 4
52 // bear
53 // Array ( [0] => dog [1] => rabbit [2] => horse )
 1 <?php
2 //实例化redis
3 $redis = new Redis();
4 //连接
5 $redis->connect('127.0.0.1', 6379);
6 //集合
7 $redis->sadd('set', 'horse');
8 $redis->sadd('set', 'cat');
9 $redis->sadd('set', 'dog');
10 $redis->sadd('set', 'bird');
11 $redis->sadd('set2', 'fish');
12 $redis->sadd('set2', 'dog');
13 $redis->sadd('set2', 'bird');
14
15 print_r($redis->smembers('set'));echo '<br>';
16 print_r($redis->smembers('set2'));echo '<br>';
17
18 //返回集合的交集
19 print_r($redis->sinter('set', 'set2'));echo '<br>';
20
21 //执行交集操作 并结果放到一个集合中
22 $redis->sinterstore('output', 'set', 'set2');
23 print_r($redis->smembers('output'));echo '<br>';
24
25 //返回集合的并集
26 print_r($redis->sunion('set', 'set2'));echo '<br>';
27
28 //执行并集操作 并结果放到一个集合中
29 $redis->sunionstore('output', 'set', 'set2');
30 print_r($redis->smembers('output'));echo '<br>';
31
32 //返回集合的差集
33 print_r($redis->sdiff('set', 'set2'));echo '<br>';
34
35 //执行差集操作 并结果放到一个集合中
36 $redis->sdiffstore('output', 'set', 'set2');
37 print_r($redis->smembers('output'));echo '<br>';
38
39 // 结果
40 // Array ( [0] => cat [1] => dog [2] => bird [3] => horse )
41 // Array ( [0] => bird [1] => dog [2] => fish )
42 // Array ( [0] => bird [1] => dog )
43 // Array ( [0] => dog [1] => bird )
44 // Array ( [0] => cat [1] => dog [2] => bird [3] => horse [4] => fish )
45 // Array ( [0] => cat [1] => dog [2] => bird [3] => horse [4] => fish )
46 // Array ( [0] => horse [1] => cat )
47 // Array ( [0] => horse [1] => cat )

Sorted Set(有序集合):

 1 <?php
2 //实例化redis
3 $redis = new Redis();
4 //连接
5 $redis->connect('127.0.0.1', 6379);
6 //有序集合
7 //添加元素
8 echo $redis->zadd('set', 1, 'cat');echo '<br>';
9 echo $redis->zadd('set', 2, 'dog');echo '<br>';
10 echo $redis->zadd('set', 3, 'fish');echo '<br>';
11 echo $redis->zadd('set', 4, 'dog');echo '<br>';
12 echo $redis->zadd('set', 4, 'bird');echo '<br>';
13
14 //返回集合中的所有元素
15 print_r($redis->zrange('set', 0, -1));echo '<br>';
16 print_r($redis->zrange('set', 0, -1, true));echo '<br>';
17
18 //返回元素的score值
19 echo $redis->zscore('set', 'dog');echo '<br>';
20
21 //返回存储的个数
22 echo $redis->zcard('set');echo '<br>';
23
24 //删除指定成员
25 $redis->zrem('set', 'cat');
26 print_r($redis->zrange('set', 0, -1));echo '<br>';
27
28 //返回集合中介于min和max之间的值的个数
29 print_r($redis->zcount('set', 3, 5));echo '<br>';
30
31 //返回有序集合中score介于min和max之间的值
32 print_r($redis->zrangebyscore('set', 3, 5));echo '<br>';
33 print_r($redis->zrangebyscore('set', 3, 5, ['withscores'=>true]));echo '<br>';
34
35 //返回集合中指定区间内所有的值
36 print_r($redis->zrevrange('set', 1, 2));echo '<br>';
37 print_r($redis->zrevrange('set', 1, 2, true));echo '<br>';
38
39
40 //有序集合中指定值的socre增加
41 echo $redis->zscore('set', 'dog');echo '<br>';
42 $redis->zincrby('set', 2, 'dog');
43 echo $redis->zscore('set', 'dog');echo '<br>';
44
45 //移除score值介于min和max之间的元素
46 print_r($redis->zrange('set', 0, -1, true));echo '<br>';
47 print_r($redis->zremrangebyscore('set', 3, 4));echo '<br>';
48 print_r($redis->zrange('set', 0, -1, true));echo '<br>';
49
50 //结果
51 // 1
52 // 0
53 // 0
54 // 0
55 // 0
56 // Array ( [0] => cat [1] => fish [2] => bird [3] => dog )
57 // Array ( [cat] => 1 [fish] => 3 [bird] => 4 [dog] => 4 )
58 // 4
59 // 4
60 // Array ( [0] => fish [1] => bird [2] => dog )
61 // 3
62 // Array ( [0] => fish [1] => bird [2] => dog )
63 // Array ( [fish] => 3 [bird] => 4 [dog] => 4 )
64 // Array ( [0] => bird [1] => fish )
65 // Array ( [bird] => 4 [fish] => 3 )
66 // 4
67 // 6
68 // Array ( [fish] => 3 [bird] => 4 [dog] => 6 )
69 // 2
70 // Array ( [dog] => 6 )

php操作redis(转)的更多相关文章

  1. Java Spring mvc 操作 Redis 及 Redis 集群

    本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5941953.html 关于 Redis 集群搭建可以参考我的另一篇文章 Redis集群搭建与简单使用 R ...

  2. Java中使用Jedis操作Redis(转载)

    整理 1.字符串 添加:set keyname value 查询:get keyname 拼接:append keyname value 删除:del keyname 添加多个: mset keyna ...

  3. (转)Java中使用Jedis操作Redis

    转自http://www.cnblogs.com/liuling/p/2014-4-19-04.html 使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://file ...

  4. Python—操作redis

    Python操作redis 连接方式:点击 1.String 操作 redis中的String在在内存中按照一个name对应一个value来存储 set() #在Redis中设置值,默认不存在则创建, ...

  5. php操作redis简单例子

    <?php //在PHP里操作Redis //Redis就是php的一个功能类 //创建Redis对象 $redis = new Redis(); //链接redis服务器 $redis -&g ...

  6. python——操作Redis

    在使用django的websocket的时候,发现web请求和其他当前的django进程的内存是不共享的,猜测django的机制可能是每来一个web请求,就开启一个进程去与web进行交互,一次来达到利 ...

  7. 使用jedis操作redis

    一 连通性 1. 简单代码测试连通性 Jedis jedis = new Jedis(".......", 6379); String keys = "name" ...

  8. Java中使用Jedis操作Redis

    使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip 如果需要使用Redis ...

  9. Python操作Redis、Memcache、RabbitMQ、SQLAlchemy

    Python操作 Redis.Memcache.RabbitMQ.SQLAlchemy redis介绍:redis是一个开源的,先进的KEY-VALUE存储,它通常被称为数据结构服务器,因为键可以包含 ...

  10. 通过PHP扩展phpredis操作redis

    我们使用phpredis,这个扩展能让你用PHP操作redis. 源码下载: phpize ./configure ); var_dump($result); echo $redis->get( ...

随机推荐

  1. Net Core2.0 升级到.Net Core 2.1

    1. 安装新 .Net Core SDK 2.1 2. 升级VS.net 到15.7, 这个版本极其不好用,IIS打中文会自动退出,但现在也没办法降级了.只能等微软打补丁. 3. 对于面向 ASP.N ...

  2. GsonFormat根据返回值json快速构建Model

    Json是一个插件,我们只需要在Android studio中进行安装一下,即可使用. 根据平时的操作,根据浏览器中返回中的数据一行一行敲,其实这样非常麻烦. 有一个简单的方法,可以瞬间生成一个实体类 ...

  3. CAD绘制室外台阶步骤5.4

    1.在CAD的平面上用PL命令绘制台阶,如图: 绘制好了之后.进入三维模型,“工具""移位”选择台阶,回车,"Z"回车,输入数值“-450”如图 2.输入命令“ ...

  4. 尚学堂java 参考答案 第七章

    本答案为本人个人编辑,仅供参考,如果读者发现,请私信本人或在下方评论,提醒本人修改 一.选择题 1.ACD 解析:B:java中左边不能直接直接指定长度,和C语言不一样 2.B 3.C 解析:B各行分 ...

  5. python全栈开发笔记--------条件语句

    Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false. Py ...

  6. flask项目结构(六)快速开发后台flask-admin

    简介: Flask-admin 相当django的xadmin吧! 快速装配一个后台用来管理数据. Flask-admin也是有使用局限性的,他只适合开发小型快速的应用,不适合那种大型并发性高,逻辑复 ...

  7. ppt点击文字出现图片,再次点击消失

    实现效果:在PPT一个页面的任意位置,单击左键,出现图片:在图片上,单击左键,图片消失 实现思路:给图片做两个动画,一个进入,文字作触发器,另一个退出,图片本身为触发器. 实现方法: 1.选中图片…… ...

  8. BootStrap字体图标不显示、下拉菜单不显示

    在W3CSchool学习BootStrap教程时遇到的问题…… 1.字体图标不能显示 上面是正常显示的样子,不能正常显示,因为缺少下面的字体图标样式文件 (1)在下载的Bootstrap包中将font ...

  9. MySQL 必知必会学习笔记

    SHOW DATABASES;USE LangLibCEE;SHOW TABLES;SHOW COLUMNS FROM customers;DESC customers; SHOW STATUS WH ...

  10. Java的file类

    package IO; import java.io.File; import java.io.IOException; public class FileDemo01 { public static ...