发布于2021-03-14 06:06 阅读(545) 评论(0) 点赞(19) 收藏(0)
redis 的基本操作方法
1.redis 的连接 :
1 2 3 4 5 6 | //实例化redis $redis = new Redis(); //连接 $redis ->connect( '127.0.0.1' , 6379); //检测是否连接成功 echo "Server is running: " . $redis ->ping(); |
2.redis 操作 Strng (字符串):
1 2 3 4 5 6 7 | // 设置一个字符串的值 $redis ->set( 'cat' , 111); //获取一个字符串的值 echo $redis ->get( 'cat' ); // 111 // 重复set $redis ->set( 'cat' , 222); echo $redis ->get( 'cat' ); // 222 |
3.redis 操作 List (列表):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | //存储数据到列表中 $redis ->lpush( 'list' , 'html' ); $redis ->lpush( 'list' , 'css' ); $redis ->lpush( 'list' , 'php' ); //获取列表中所有的值 $list = $redis ->lrange( 'list' , 0, -1); print_r( $list ); echo '<br>' ; // Array ( [0] => php [1] => css [2] => html ) //从右侧加入一个 $redis ->rpush( 'list' , 'mysql' ); $list = $redis ->lrange( 'list' , 0, -1); print_r( $list ); echo '<br>' ; // Array ( [0] => php [1] => css [2] => html [3] => mysql ) //从左侧弹出一个 $redis ->lpop( 'list' ); $list = $redis ->lrange( 'list' , 0, -1); print_r( $list ); echo '<br>' ; // Array ( [0] => css [1] => html [2] => mysql ) //从右侧弹出一个 $redis ->rpop( 'list' ); $list = $redis ->lrange( 'list' , 0, -1); print_r( $list ); echo '<br>' ; |
4.redis 操作 Hash (字典):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <?php //实例化redis $redis = new Redis(); //连接 $redis ->connect( '127.0.0.1' , 6379); //字典 //给hash表中某个key设置value //如果没有则设置成功,返回1,如果存在会替换原有的值,返回0,失败返回0 echo $redis ->hset( 'hash' , 'cat' , 'cat' ); echo '<br>' ; // 1 echo $redis ->hset( 'hash' , 'cat' , 'cat' ); echo '<br>' ; // 0 echo $redis ->hset( 'hash' , 'cat' , 'cat1' ); echo '<br>' ; // 0 echo $redis ->hset( 'hash' , 'dog' , 'dog' ); echo '<br>' ; // 1 echo $redis ->hset( 'hash' , 'bird' , 'bird' ); echo '<br>' ; // 1 echo $redis ->hset( 'hash' , 'monkey' , 'monkey' ); echo '<br>' ; // 1 //获取hash中某个key的值 echo $redis ->hget( 'hash' , 'cat' ); echo '<br>' ; // cat1 //获取hash中所有的keys $arr = $redis ->hkeys( 'hash' ); print_r( $arr ); echo '<br>' ; // Array ( [0] => cat [1] => dog [2] => bird [3] => monkey ) //获取hash中所有的值 顺序是随机的 $arr = $redis ->hvals( 'hash' ); print_r( $arr ); echo '<br>' ; // Array ( [0] => cat1 [1] => dog [2] => bird [3] => monkey ) //获取一个hash中所有的key和value 顺序是随机的 $arr = $redis ->hgetall( 'hash' ); print_r( $arr ); echo '<br>' ; // Array ( [cat] => cat1 [dog] => dog [bird] => bird [monkey] => monkey ) //获取hash中key的数量 echo $redis ->hlen( 'hash' ); echo '<br>' ; // 4 //删除hash中一个key 如果表不存在或key不存在则返回false echo $redis ->hdel( 'hash' , 'dog' ); echo '<br>' ; var_dump( $redis ->hdel( 'hash' , 'rabbit' )); echo '<br>' ; // 1 // int(0) |
5.redis 操作 Set (集合):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | <?php //实例化redis $redis = new Redis(); //连接 $redis ->connect( '127.0.0.1' , 6379); //集合 // 添加一个元素 echo $redis ->sadd( 'set' , 'cat' ); echo '<br>' ; // 1 echo $redis ->sadd( 'set' , 'cat' ); echo '<br>' ; // 0 echo $redis ->sadd( 'set' , 'dog' ); echo '<br>' ; // 1 echo $redis ->sadd( 'set' , 'rabbit' ); echo '<br>' ; // 1 echo $redis ->sadd( 'set' , 'bear' ); echo '<br>' ; // 1 echo $redis ->sadd( 'set' , 'horse' ); echo '<br>' ; // 1 // 查看集合中所有的元素 $set = $redis ->smembers( 'set' ); print_r( $set ); echo '<br>' ; // Array ( [0] => rabbit [1] => cat [2] => bear [3] => dog [4] => horse ) //删除集合中的value echo $redis ->srem( 'set' , 'cat' ); echo '<br>' ; // 1 var_dump( $redis ->srem( 'set' , 'bird' )); echo '<br>' ; // int(0) $set = $redis ->smembers( 'set' ); print_r( $set ); echo '<br>' ; // Array ( [0] => dog [1] => rabbit [2] => horse [3] => bear ) //判断元素是否是set的成员 var_dump( $redis ->sismember( 'set' , 'dog' )); echo '<br>' ; // bool(true) var_dump( $redis ->sismember( 'set' , 'bird' )); echo '<br>' ; // bool(false) //查看集合中成员的数量 echo $redis ->scard( 'set' ); echo '<br>' ; // 4 //移除并返回集合中的一个随机元素(返回被移除的元素) echo $redis ->spop( 'set' ); echo '<br>' ; // bear print_r( $redis ->smembers( 'set' )); echo '<br>' ; // Array ( [0] => dog [1] => rabbit [2] => horse ) <?php //实例化redis $redis = new Redis(); //连接 $redis ->connect( '127.0.0.1' , 6379); //集合 $redis ->sadd( 'set' , 'horse' ); $redis ->sadd( 'set' , 'cat' ); $redis ->sadd( 'set' , 'dog' ); $redis ->sadd( 'set' , 'bird' ); $redis ->sadd( 'set2' , 'fish' ); $redis ->sadd( 'set2' , 'dog' ); $redis ->sadd( 'set2' , 'bird' ); print_r( $redis ->smembers( 'set' )); echo '<br>' ; // Array ( [0] => cat [1] => dog [2] => bird [3] => horse ) print_r( $redis ->smembers( 'set2' )); echo '<br>' ; // Array ( [0] => bird [1] => dog [2] => fish ) //返回集合的交集 print_r( $redis ->sinter( 'set' , 'set2' )); echo '<br>' ; // Array ( [0] => dog [1] => bird ) //执行交集操作 并结果放到一个集合中 $redis ->sinterstore( 'output' , 'set' , 'set2' ); print_r( $redis ->smembers( 'output' )); echo '<br>' ; // Array ( [0] => dog [1] => bird ) //返回集合的并集 print_r( $redis ->sunion( 'set' , 'set2' )); echo '<br>' ; // Array ( [0] => cat [1] => dog [2] => bird [3] => horse [4] => fish ) //执行并集操作 并结果放到一个集合中 $redis ->sunionstore( 'output' , 'set' , 'set2' ); print_r( $redis ->smembers( 'output' )); echo '<br>' ; // Array ( [0] => cat [1] => dog [2] => bird [3] => horse [4] => fish ) //返回集合的差集 print_r( $redis ->sdiff( 'set' , 'set2' )); echo '<br>' ; // Array ( [0] => horse [1] => cat ) //执行差集操作 并结果放到一个集合中 $redis ->sdiffstore( 'output' , 'set' , 'set2' ); print_r( $redis ->smembers( 'output' )); echo '<br>' ; // Array ( [0] => horse [1] => cat ) |
6.redis 操作 Sorted Set (有序集合):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | <?php //实例化redis $redis = new Redis(); //连接 $redis ->connect( '127.0.0.1' , 6379); //有序集合 //添加元素 分数 echo $redis ->zadd( 'set' , 1, 'cat' ); echo '<br>' ; // 1 echo $redis ->zadd( 'set' , 2, 'dog' ); echo '<br>' ; // 1 echo $redis ->zadd( 'set' , 3, 'fish' ); echo '<br>' ; // 1 echo $redis ->zadd( 'set' , 4, 'dog' ); echo '<br>' ; // 0 echo $redis ->zadd( 'set' , 4, 'bird' ); echo '<br>' ; // 1 //返回集合中的所有元素 print_r( $redis ->zrange( 'set' , 0, -1)); echo '<br>' ; // Array ( [0] => cat [1] => fish [2] => bird [3] => dog ) print_r( $redis ->zrange( 'set' , 0, -1, true)); echo '<br>' ; // Array ( [cat] => 1 [fish] => 3 [bird] => 4 [dog] => 4 ) //返回元素的score值 echo $redis ->zscore( 'set' , 'dog' ); echo '<br>' ; // 4 //返回存储的个数 echo $redis ->zcard( 'set' ); echo '<br>' ; // 4 //删除指定成员 $redis ->zrem( 'set' , 'cat' ); print_r( $redis ->zrange( 'set' , 0, -1)); echo '<br>' ; // Array ( [0] => fish [1] => bird [2] => dog ) //返回集合中介于min和max之间的值的个数 print_r( $redis ->zcount( 'set' , 3, 5)); echo '<br>' ; // 3 //返回有序集合中score介于min和max之间的值 print_r( $redis ->zrangebyscore( 'set' , 3, 5)); echo '<br>' ; // Array ( [0] => fish [1] => bird [2] => dog ) print_r( $redis ->zrangebyscore( 'set' , 3, 5, [ 'withscores' =>true])); echo '<br>' ; // Array ( [fish] => 3 [bird] => 4 [dog] => 4 ) //返回集合中指定区间内所有的值 倒叙 print_r( $redis ->zrevrange( 'set' , 1, 2)); echo '<br>' ; // Array ( [0] => bird [1] => fish ) print_r( $redis ->zrevrange( 'set' , 1, 2, true)); echo '<br>' ; // Array ( [bird] => 4 [fish] => 3 ) //有序集合中指定值的socre增加 echo $redis ->zscore( 'set' , 'dog' ); echo '<br>' ; // 4 $redis ->zincrby( 'set' , 2, 'dog' ); echo $redis ->zscore( 'set' , 'dog' ); echo '<br>' ; // 6 //移除score值介于min和max之间的元素 print_r( $redis ->zrange( 'set' , 0, -1, true)); echo '<br>' ; // Array ( [fish] => 3 [bird] => 4 [dog] => 6 ) print_r( $redis ->zremrangebyscore( 'set' , 3, 4)); echo '<br>' ; // 2 print_r( $redis ->zrange( 'set' , 0, -1, true)); echo '<br>' ; // Array ( [dog] => 6 ) //结果 |
原文链接:https://www.cnblogs.com/heyue0117/p/13792355.html
作者:叮叮当当
链接:http://www.phpheidong.com/blog/article/3075/700758e508cca8d2e4ac/
来源:php黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 php黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-4
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!