Redis-08-Redis常用命令-集合类型&有序集合类型操作命令
一:集合 set 操作命令
Redis set是String类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的元素,常用命令。
(1)sadd key member1 [menber2]
向集合添加一个或多个成员
例如:
sadd myset a b c d
(2)smembers key
返回集合中的所有成员
例如:
smembers myset 返回的是d c a b,是无序的
然后sadd myset a b
然后smembers myset 返回的还是那四个元素
(3) scard key
获取集合的成员数
例如:
scard myset 返回4,说明里面有4个成员
(4) sinter key1 [key2]
返回给定所有集合的交集
例如:
在插入一个集合sadd myset2 a b x
sinter myset myset2 返回a b ,这是这两个集合共同拥有的元素
(5) sunion key1 [key2]
返回所有给定集合的并集
例如:
sunion myset myset2 返回了a b c d x y,这是这两个集合的并集
(6) sdiff key1 [key2]
返回给定所有集合的差集
例如:
sdiff myset myset2 返回d c,只能从myset里面去取元素
sdiff myset2 myset 返回x y,只能从myset2里面去取元素
这个命令后面的参数是是有前后顺序的
(7) srem key member1 [member2]
移除集合中一个或多个成员
例如:
rem:remove
srem myset a b c 返回3,表示移除了3个元素
smembers myset只剩下一个d了
二:有序集合 sorted set 操作命令
Redis sorted set有序集合是String类型元素的集合,且不允许重复的成员。每个元素都会关联一个double类型的分数(score)。Redis正是通过分数来为集合中的成员进行从小到大排序。有序集合的成员是唯一的,但分数却可以重复。
常用命令:
(1)zadd key score1 member1 [score2 member2]
向有序集合添加一个或多个成员,或者更新已存在成员的分数
例如:
zdd myset3 10.0 a 9.0 b
(2)zrange key start stop [withscores]
通过索引区间返回有序集合中指定区间内的成员
例如:
zrange myset3 0 -1 返回b a,从小到大排
再添加一个zadd myset3 9.9 c
zrange myset3 0 -1 返回b c a,正确
withscores:返回元素的同时可以来指定他们所对应的分数
zrange myset3 0 -1 withscores 返回b 9.0 c 9.90000000004 a 10.0
(3)zincrby key increment member
有序集合中对指定成员的分数加上增量increment
例如:
zincrby myset3 20 b 返回29,返回修改后的分值
zrange myset3 0 -1 withscores 返回c 9.9000000004 a 10.0 b 29.0
(4)zrem key member [member ...]
移除有序集合中的一个或多个成员
例如:
zrem myset3 b
zrange myset3 0 -1 返回c a
member [member …]` 移除有序集合中的一个或多个成员
例如:
zrem myset3 b
zrange myset3 0 -1 返回c a