承接Reids一中未完成的两类 set相关的集合


Set 集合


53、sadd    向集合中添加一个或者多个元素,如果存,存入失败返回 0  sadd name "zhl" "gavin" "bieru" "zhl" "jason" 返回值 4 

54、srem    移除集合中一个或多个元素 srem name 

55、smembers获取对应key的集合元素  smembers name 

56、srandmember  获取集合中一个随机的元素,可以接收返回的个数  srandmemeber name (2) 返回多个元素可能会重复

57、scard   获取对应key下的集合元素的数量    scard name  返回值 4

58、sdiff   获取两个集合的差集,注意:如果A包含B, sdiff A B 返回A比B多的元素, sdiff B A 返回值是空,以前者为参考元素

59、sinter  获取两个集合的交集

60、sinterstore  获取两级集合的交集并进行存储,如果key集合已经存在,就覆盖原有的集

61、sdiffstroe   获取两个集合的差集并进行存储,如果key集合已经存在,就覆盖原有的集合

62、sismember    判断指定集合中的特定的元素是否存在   sismemeber name zhl 返回1 sismember name aaa  返回 0 

63、smove    将A集合中的特定元素移动到B集合中,原子操作,如果B中已经存在,会直接覆盖

64、spop     移除并返回集合的一个元素,此元素是移除的元素 spop name

64、sunion   返回一个集合的所有元素,或者指定多个集合的并集 sunion name   sunion name names name1

65、sunionstore  返回一个集合的所有元素,或者指定多个集合的并集并进行存储 sunionstore tmp name names 将name、names并集之后存到tmp



SortedSet(有序集合)


66、zadd     向集合中添加一个或者多个元素,指定他的序号  比如:zadd name2 5 baidu 4 wangyi 2 sina 3 google 1 soso

67、zrange   获取元素递增排序withscores  zrange name2 0 2 会返回前三个元素即: soso sina google | zrange name2 1 2 withscore 返回元素和他的序号

68、zrevrange 获取元素递减排序withscores 

69、zrem     移除集合中的一个元素或者多个元素,当key不是有序集时候返回错误

70、zcard    获取集合的元素个数

71、zcount   返回指定数据之间的元素个数 比如:zcount name2 1 30 返回的是 5

72、zrangebyscore  返回指定集合之间的元素,并按照score进行递增排序,默认是包含边值,可以指定进行判断是否进行包含边界值

                   zrangebyscore name2 (1 5 等价于 1 < score <=5 

  zrangebysocre name2 (2 (5 等价于  2 < score < 5

  也可以添加 withscroes 参数同时返回 score 的值

73、zrank     返回指定元素在集合中所暂的位置。和PHP数组比较类似 zrank name2 biadu 会返回4  array("baidu", "google", "sina") 中的0下标

74、zremrangebyrank  移除集合中指定的数据之间的元素 zremrangebyrank  name2 0 -1 移除所有的元素

75、zremrangebyscore 移除集合中指定的score的元素   zremrangebyscroe name2 1 3 移除score等于 1 2 3 的元素

76、zscore    返回有序集合中指定的元素的score的值 zscore name2 baidu 返回 5

77、zunionstore    一个集合或者多个集合的并集并进行存储,默认情况下score 为每个集合的score的和,有WEIGHTS 和 AGGREGATE两个参数

78、zinterstore    一个集合或者多个集合的交集并进行存储,默认情况下score 为每个集合的score的和,有WEIGHTS 和 AGGREGATE两个参数