Linux+Redis实战教程_day03_Redis-set【重点】_有序set(了解)

时间:2023-12-21 21:45:02

2、redis-set【重点】

Java HashSet  无序,不重复。

Redis操作中,涉及到两个大数据集合的并集,交集,差集运算。

赋值:

sadd key values[value1value2…]:向set中添加数据,如果该key的值已有则不会重复添加

取值:

smembers key:获取set中所有的成员

sismember key member:判断参数中指定的成员是否在该set中,1表示存在,0表示不存在或者该key本身就不存在。(无论集合中有多少元素都可以极速的返回结果)

删值:

srem key members[member1member2…]:删除set中指定的成员

Linux+Redis实战教程_day03_Redis-set【重点】_有序set(了解)

Linux+Redis实战教程_day03_Redis-set【重点】_有序set(了解)

l 集合运算:

差集运算:

sdiff key1 key2…:返回key1与key2中相差的成员,而且与key的顺序有关。即返回差集

Linux+Redis实战教程_day03_Redis-set【重点】_有序set(了解)(属于A并且不属于B的元素构成的集合)

交集运算:

sinter key1 key2 key3返回交集

Linux+Redis实战教程_day03_Redis-set【重点】_有序set(了解)(属于A且属于B的元素构成的集合)

并集运算:

sunion key1 key2 key3返回并集

Linux+Redis实战教程_day03_Redis-set【重点】_有序set(了解)(属于A或者属于B的元素构成的集合)

Linux+Redis实战教程_day03_Redis-set【重点】_有序set(了解)

Linux+Redis实战教程_day03_Redis-set【重点】_有序set(了解)

扩展命令:

l scard key:获取set中成员的数量

l srandmember key:随机返回set中的一个成员

Linux+Redis实战教程_day03_Redis-set【重点】_有序set(了解)

3、redis-有序set(了解)

有序set集合:有序,不重复

小明,小红,小张

每个元素都需要手动赋予一个分数

5000 小明, 1000 小红 , 500 小张

集合中:500 小张

    1000 小红

    5000 小明

集合倒序:

    5000 小明

    1000 小红

    500  小张

有序set集合,专门用来做排行榜

赋值:

l zadd key score member score2 member2 … :将所有成员以及该成员的分数存放到sorted-set中。如果该元素已经存在则会用新的分数替换原有的分数。返回值是新加入到集合中的元素个数,不包含之前已经存在的元素。

查看:

l zscore key member:返回指定成员的分数

l zrange key start end [withscores]:获取集合中脚标为start-end的成员,[withscores]参数表明返回的成员包含其分数。(分数由小到大排列)

l zrevrange key start end [withscores]:获取集合中脚标为start-end的成员,[withscores]参数表明返回的成员包含其分数。(分数由大到小排列)

删值:

l zrem key member[member…]:移除集合中指定的成员,可以指定多个成员。

Linux+Redis实战教程_day03_Redis-set【重点】_有序set(了解)

Linux+Redis实战教程_day03_Redis-set【重点】_有序set(了解)