一:Set无需集合
Set是个集合,string类型的无需集合,通过hash table实现,添加删除查找复杂度都是0(1)。对集合我们可以取并集,交集和差集。通过这些操作我们可以实现sns中的好友推荐和bolog的tag功能。
1.sadd新增
sadd myset "hello"
2.smembers查询所有元素
smembers myset
3.srem删除
srem myset "hello"
4.spop【随机】弹出一个元素
spop myset
5.sdiff两个集合的第一个集合的差集
sdiff myset2 myset1
6.sinter取两个集合的交集
sinter myset1 myset2
7.sinterstore取两个集合的交集,并存储到新的集合
sinterstore newset myset1 myset2
8.sunion取两个集合的并集
sunionstore newset myset1 myset2
9.smove从第一个集合移除某个元素到第二个集合中
smove myset1 myset2 "cyz"
10.scard查看集合元素的个数
scard myset2
11.sismember判断某个元素是否为集合中的元素s
sismember myset1 "zwl"
12.srandmember随机返回集合一个元素
srandmember myset2
二:Sorted Set有序集合
1.zadd新增
zadd myzset1 1 "one"
zadd myzset1 3 "two"
zadd myzset1 3 "two"
2.zrange查询
zrange myzset1 0 -1
zrange myzset1 0 -1 withscores
3.zrem移除
zrem myzset1 "one"
4,.zincrby增加指定
zrange myzset1 0 -1 withscoresztange
5.zrank 返回指定元素的索引值(从头部开始)
zrank sset1 five 4
6.zrevrank 返回指定元素的索引值(从尾部开始)
zrank sset1 five 0
7.zrevrange降序排序
8.zrangebyscore返回指定区间内的元素
zrangebyscore sset1 2 3 withscores
9.zcount返回指定数量
zcount sset1 2 3
10.zcard返回所有数量
zcard sset1
11.zremrangebyrank删除指定索引内的元素
zremrangebyrank sset1 1 1