4、集合与有序集合
集合
特性:无序(随机操作)、唯一性,确定性
- srembers key:获取集合的元素
- sadd key value1 value2…:添加元素
127.0.0.1:6379> sadd a 1 2 3 4 (integer) 4 127.0.0.1:6379> smembers a 1) "1" 2) "2" 3) "3" 4) "4"
- srem value1 value2 …:删除集合内特定的元素
- spop key:删除集合内随机的元素
- srandmember key:获取集合内随机的一个元素
- sisrember key value:判断value是否在key集合内,返回1或0
- scard key:返回集合内的元素个数:
127.0.0.1:6379> smembers a 1) "1" 2) "2" 3) "3" 4) "4" 127.0.0.1:6379> scard a (integer) 4
- smove source dest value:将source中的value移至dest中
- sinter key1 key2 key3 :求集合的交集
127.0.0.1:6379> sadd a 1 2 3 4 5 (integer) 5 127.0.0.1:6379> sadd b 2 11 22 33 (integer) 4 127.0.0.1:6379> sadd c 2 11 111 111 (integer) 3 127.0.0.1:6379> sinter a b c 1) "2"
- sinterstore dest key1 key2 key3 :求交集并赋给dest
- sdiffstore dest key1 key2
- sunionstore dest key1 key2
- sunion key1 key2 … :求并集
- sdiff key1 key2 … :求key1与其他集合的差集
有序集合
- zrange key start stop [withscores]
- withscores将分数也打印出来
- zrevrange key start stop:将集合降序排列,取在[]start, stop]之间的元素
- zrangebyscore key min max [withscore] limit offset n:将score在[min,max]之间的元素跳过offset个后取出n个
- zadd key score1 value1 score2 value2:添加元素
zadd a 1 11 2 22 3 33 (integer) 3 127.0.0.1:6379> zrange a 0 100 1) "11" 2) "22" 3) "33"
- zrem key value1 …
- zremrangebyscore key min max:将score在[min, max]之间等待元素删除
- zremrangebyrank key start end:将名次在start到end之间的元素删除
- zrank key menber:查询menber在key内的排名,默认从0开始,升序
- zrevrank key member:查询member在key中的降序位置
- zcard key:统计元素个数
- zcount key min max:统计排名在[min,max]之间的元素个数
- zinterstore dest numkeys key1 key2… [weights wight1][aggregate sum|min|max]
- aggregate设置交集方式,默认是sum
- weight设置权重,交集时,score*weights