1. 集合 set 相关命令
  2. 集合的性质: 唯一性,无序性,确定性
  3.  
  4. 注: stringlink的命令中,可以通过range 来访问string中的某几个字符或某几个元素
  5. 但,因为集合的无序性,无法通过下标或范围来访问部分元素.
  6.  
  7. 因此想看元素,要么随机先一个,要么全选
  8. sadd key value1 value2 //增加的值不能够相同,内部的排序是随机的,
  9. 作用: 往集合key中增加元素
  10. srem key value1 value2
  11. 作用: 删除集合中集为 value1 value2的元素
  12. 返回值: 忽略不存在的元素后,真正删除掉的元素的个数
  13. spop key
  14. 作用: 返回并删除集合中key1个随机元素
  15. 随机--体现了无序性
  16. srandmember key
  17. 作用: 返回集合key中,随机的1个元素.
  18. sismember key value
  19. 作用: 判断value是否在key集合中
  20. 是返回1,否返回0
  21. smembers key
  22. 作用: 返回集中中所有的元素
  23. scard key
  24. 作用: 返回集合中元素的个数
  25. smove source dest value
  26. 作用:把source中的value删除,并添加到dest集合中
  27. r1:0>smove set set1 value1
  28. "1"
  29.  
  30. sinter key1 key2 key3
  31. 作用: 求出key1 key2 key3 三个集合中的交集,并返回
  32. redis 127.0.0.1:6379> sadd s1 0 2 4 6
  33. (integer) 4
  34. redis 127.0.0.1:6379> sadd s2 1 2 3 4
  35. (integer) 4
  36. redis 127.0.0.1:6379> sadd s3 4 8 9 12
  37. (integer) 4
  38. redis 127.0.0.1:6379> sinter s1 s2 s3
  39. 1) "4"
  40. redis 127.0.0.1:6379> sinter s3 s1 s2
  41. 1)"4"
  42.  
  43. sinterstore dest key1 key2 key3
  44. 作用: 求出key1 key2 key3 三个集合中的交集,并赋给dest存储。
  45. suion key1 key2.. Keyn
  46. 作用: 求出key1 key2 keyn的并集,并返回
  47. sdiff key1 key2 key3
  48. 作用: 求出key1key2 key3的差集
  49. key1-key2-key3
  1. order set 有序集合
  2. 集合是无序的。score1 是他排序的因子。
  3. zadd key score1 value1 score2 value2 ..
  4. 添加元素
  5. redis 127.0.0.1:6379> zadd stu 18 lily 19 hmm 20 lilei 21 lilei
  6. (integer) 3
  7. r1:0> zrange stu 0 -1
  8. 1) "lily"
  9. 2) "hmm"
  10. 3) "lilei"
  11.  
  12. zrem key value1 value2 ..
  13. 作用: 删除集合中的元素
  14.  
  15. zremrangebyscore key min max //根据分数删除
  16. 作用: 按照socre来删除元素,删除score在[min,max]之间的
  17. redis 127.0.0.1:6379> zremrangebyscore stu 4 10
  18. (integer) 2
  19. redis 127.0.0.1:6379> zrange stu 0 -1
  20. 1) "f"
  21.  
  22. zremrangebyrank key start end //根据分数的排名删
  23. 作用: 按排名删除元素,删除名次在[start,end]之间的
  24. redis 127.0.0.1:6379> zremrangebyrank stu 0 1
  25. (integer) 2
  26. redis 127.0.0.1:6379> zrange stu 0 -1
  27. 1) "c"
  28. 2) "e"
  29. 3) "f"
  30. 4) "g"
  31.  
  32. zrank key member
  33. 查询member的排名(升续 0名开始)
  34.  
  35. zrevrank key memeber
  36. 查询 member的排名(降续 0名开始)
  37.  
  38. ZRANGE key start stop [WITHSCORES]
  39. 把集合排序后,返回名次[start,stop]的元素
  40. 默认是升续排列
  41. Withscores 是把score也打印出来
  42. r1:0>ZRANGE stu 0 -1 WITHSCORES
  43. 1) "lilei"
  44. 2) "1"
  45. 3) "lily"
  46. 4) "14"
  47. 5) "hmm"
  48. 6) "16"
  49. 7) "lile"
  50. 8) "29"
  51.  
  52. zrevrange key start stop
  53. 作用:把集合降序排列,取名字[start,stop]之间的元素
  54.  
  55. zrangebyscore key min max [withscores] limit offset N
  56. 作用: 集合(升续)排序后,取score在[min,max]内的元素,
  57. 并跳过 offset个, 取出N
  58. redis 127.0.0.1:6379> zadd stu 1 a 3 b 4 c 9 e 12 f 15 g
  59. (integer) 6
  60. redis 127.0.0.1:6379> zrangebyscore stu 3 12 limit 1 2 withscores
  61. 1) "c"
  62. 2) "4"
  63. 3) "e"
  64. 4) "9"
  65.  
  66. zcard key
  67. 返回元素个数
  68.  
  69. zcount key min max
  70. 返回[min,max] 区间内元素的数量
  71.  
  72. zinterstore destination numkeys key1 [key2 ...]
  73. [WEIGHTS weight [weight ...]]
  74. [AGGREGATE SUM|MIN|MAX]
  75. key1,key2的交集,key1,key2的权重分别是 weight1,weight2
  76. 聚合方法用: sum |min|max
  77. 聚合的结果,保存在dest集合内
  78.  
  79. 注意: weights ,aggregate如何理解?
  80. 答: 如果有交集, 交集元素又有socre,score怎么处理?
  81. Aggregate sum->score相加 , min 求最小score, max 最大score
  82.  
  83. 另: 可以通过weigth设置不同key的权重, 交集时,socre * weights
  84.  
  85. 详见下例
  86. redis 127.0.0.1:6379> zadd z1 2 a 3 b 4 c
  87. (integer) 3
  88. redis 127.0.0.1:6379> zadd z2 2.5 a 1 b 8 d
  89. (integer) 3
  90. redis 127.0.0.1:6379> zinterstore tmp 2 z1 z2
  91. (integer) 2
  92. redis 127.0.0.1:6379> zrange tmp 0 -1
  93. 1) "b"
  94. 2) "a"
  95. redis 127.0.0.1:6379> zrange tmp 0 -1 withscores
  96. 1) "b"
  97. 2) "4"
  98. 3) "a"
  99. 4) "4.5"
  100. redis 127.0.0.1:6379> zinterstore tmp 2 z1 z2 aggregate sum
  101. (integer) 2
  102. redis 127.0.0.1:6379> zrange tmp 0 -1 withscores
  103. 1) "b"
  104. 2) "4"
  105. 3) "a"
  106. 4) "4.5"
  107. redis 127.0.0.1:6379> zinterstore tmp 2 z1 z2 aggregate min
  108. (integer) 2
  109. redis 127.0.0.1:6379> zrange tmp 0 -1 withscores
  110. 1) "b"
  111. 2) "1"
  112. 3) "a"
  113. 4) "2"
  114. redis 127.0.0.1:6379> zinterstore tmp 2 z1 z2 weights 1 2
  115. (integer) 2
  116. redis 127.0.0.1:6379> zrange tmp 0 -1 withscores
  117. 1) "b"
  118. 2) "5"
  119. 3) "a"
  120. 4) "7"

redis03----集合 set 相关命令的更多相关文章

  1. Shell编程基础教程5--文本过滤、正则表达式、相关命令

    5.文本过滤.正则表达式.相关命令    5.1.正则表达式(什么是正则表达式?正则表达式怎么进行匹配?常用命令)        简介:            一种用来描述文本模式的特殊语法      ...

  2. redis的hash, list, set类型相关命令

    hash相关命令: 1. hset HSET key field value 将哈希表key中的域field的值设为value.如果key不存在,一个新的哈希表被创建并进行hset操作.如果域fiel ...

  3. Redis学习笔记(二)-key相关命令【转载】

    转自 Redis学习笔记(二)-key相关命令 - 点解 - 博客园http://www.cnblogs.com/leny/p/5638764.html Redis支持的各种数据类型包括string, ...

  4. redis-key相关命令

    本篇主要介绍和redis的key进行操作的相关命令. 命令 描述 复杂度 返回值 DEL key [key ...] 删除给定的一个或多个 key .不存在的 key 会被忽略.删除单个列表.集合.有 ...

  5. redis对set(无序集合)的相关操作

    redis对set类型(无序集合)操作的相关命令以及如何在python使用这些命令 redis对set类型操作的命令: 命令 语法 概述 返回值 Redis Sadd 命令 sadd key memb ...

  6. Redis学习之二 数据类型和相关命令

    原文:https://www.cnblogs.com/lonelyxmas/p/9073928.html 如果还不懂安装的,请看 Windows环境下安装Redis Redis一共支持五种数据类型 1 ...

  7. [Redis]Redis的五种数据类型与键值/服务器相关命令

    -------------------------------------------------------------------------------------- String(字符串):最 ...

  8. Linux网络——配置防火墙的相关命令

    Linux网络——配置防火墙的相关命令 摘要:本文主要学习了如何在Linux系统中配置防火墙. iptables命令 iptables准确来讲并不是防火墙,真正的防火墙是运行于系统内核中的netfil ...

  9. redis入门指南(二)—— 数据操作相关命令

    写在前面 以下绝大部分内容取材于<redis入门指南>,部分结合个人知识,实践后得出. 只记录重要,明确,属于新知的相关内容,杜绝冗余和重复. 字符串 1.字符串类型是redis中最常见的 ...

随机推荐

  1. P1373 小a和uim之大逃离 (动态规划)

    题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个 ...

  2. P3147 [USACO16OPEN]262144 (贪心)

    题目描述 给定一个1*n的地图,在里面玩2048,每次可以合并相邻两个(数值范围1-262,144),问最大能合出多少.注意合并后的数值并非加倍而是+1,例如2与2合并后的数值为3. 这道题的思路: ...

  3. 2>&1使用

    2>&1使用 一 相关知识 1)默认地,标准的输入为键盘,但是也可以来自文件或管道(pipe |).2)默认地,标准的输出为终端(terminal),但是也可以重定向到文件,管道或后引号 ...

  4. cf575A Fibonotci

    Fibonotci sequence is an integer recursive sequence defined by the recurrence relation Fn = sn - 1·F ...

  5. Oracle Partition 分区详细总结

    此文从以下几个方面来整理关于分区表的概念及操作:        1.表空间及分区表的概念        2.表分区的具体作用        3.表分区的优缺点        4.表分区的几种类型及操作 ...

  6. msp430项目编程51

    msp430综合项目---扩展项目一51 1.电路工作原理 2.代码(显示部分) 3.代码(功能实现) 4.项目总结

  7. 更改UISwitch大小

    UISwitch大小总是改不了...找了一个简便方法. 
mySwitch = [[UISwitch alloc] initWithFrame: CGRectMake( width - 55, hei ...

  8. 《从零开始搭建游戏服务器》MySQL安装配置

    一.下载资源: 到MySQL官网下载免安装版的mysql包,或者直接点击此链接下载:mysql-5.7.19-winx64.zip 二.解压配置: 将上面下载的安装包解压到一个本地目录下,在得到的my ...

  9. HDU - 5584 LCM Walk (数论 GCD)

    A frog has just learned some number theory, and can't wait to show his ability to his girlfriend. No ...

  10. codevs——1507 酒厂选址

    1507 酒厂选址  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description Abstinence(戒酒) ...