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

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中指定的成员

集合运算

差集运算

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

(属于A并且不属于B的元素构成的集合)

交集运算

sinter key1 key2 key3返回交集

(属于A且属于B的元素构成的集合)

并集运算

sunion key1 key2 key3返回并集

(属于A或者属于B的元素构成的集合)

扩展命令

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

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

3redis-有序set(了解)

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

小明小红小张

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

5000 小明, 1000 小红 , 500 小张

集合中:500 小张

    1000 小红

    5000 小明

集合倒序:

    5000 小明

    1000 小红

    500  小张

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

赋值

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

查看

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

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

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

删值

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

原文地址:https://www.cnblogs.com/justdoitba/p/8318827.html