1.无序集合
集合的特性:
①确定性
②互异性
③无序性
redis的set是string类型的无序集合
set元素最大可以包含(2^32-1)个元素
sadd key value1....valueN 将将元素value1...valueN添加到集合key中,返回成功添加元素个数N
如果元素value已在集合set中,则返回0;对应set不存在返回错误
srem key value1 [value2 ... valueN] 从集合key中移除给定元素value1 ... valueN,返回成功删除个数N
smove key1 key2 value 将集合key1中的元素value移除,并添加到集合key2中,成功返回1
scard key 返回集合key的元素个数
sismember key value 判断元素value是否在集合key中,存在返回1,不存在返回0
sinter key1 key2 ... keyN 返回所有给定集合key1,key2....keyN的交集
sinterstore deskey key1 ... keyN 将集合key1.....keyN的交集存储到集合deskey中,返回deskey的元素个数
sunion key1 key2 ... keyN 返回所有给定集合key1,key2....keyN的并集
sdiff key1 key2 ... keyN 返回所有给定集合key1,key2...keyN的差集
smembers key 返回给定集合key的所有元素,结果是无序的
spop key 随机返回集合key中的一个元素,并将集合key中的该元素删除
srandmember key 随机返回集合key中的一个元素,但不删除该元素
2.有序集合(sorted set)
有序集合也是string类型元素的集合,不同的是每个元素都会关联一个权
通过权值可以有序的获取集合中的元素
zadd key score1 member2 score2 member2 添加元素member1,member2到有序集合key,对应的权重分别为score1,score2;如果元素member在集合中存在则更新对应的score
zrem key member 删除有序集合key中指定元素,返回1表示成功,如果元素不存在返回0
zincrby key incr member 按照incr的值增加对应member的score值,返回score值
zrank key member 返回指定元素在集合中的排名,集合中的元素按照score从小到大排序
zrevrank key member 返回指定元素在集合中的排名,但是元素是按照score从大到小排序
zrange key start end [withscores] 把集合中元素按score升序排序后,
返回第start到end名次的有序元素,从第0名开始,withscores将score也打印出来
zrangebyscore key score1 score2 [withscores] limit offset N 把集合升序
排序后,在score在[score1 score2]的元素中跳过offset个元素取N个元素
zrevrange key start end 操作集合中按score逆序排序后指定区间元素,
返回结果有序
zcard key 返回集合key中元素个数
zscore key element 返回给定元素对应的score
zremrangebyrank key mim max 删除集合中排名在[min max]名次的元素,返回被删除元素的个数
zremrangebyscore key score1 score2 将集合排名后,按照score来删
除元素,删除score在[score1 score2]之间的元素,并返回被删除元素的个数
zcount key score1 score2 统计集合key中score在score1到score2之间的元素个数,返回元素个数
zinterstore destination numberkeys key1 [key2 ....] [ weights weight1 [weight2] ...] [aggregate sum|min|max]
计算key1,key2...keyN交集,key1,key2的权重分别是weight1,weight2
numberkeys:参与计算交集的集合个数
aggregate:指集合方法,包含求和sum,最小值min,最大值max
destination:将最终结果保存到该集合中
ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
求并集,理解同上求交集