Redis数据结构:集合

集合与列表的本质区别在于,存储的元素不可重复,无序。

添加元素(SADD)

使用SADD可以添加元素

SADD  key  val [val2 val3...]

可以添加单个元素

SADD  number  "one" 

SADD  number  "two"

SADD  number  "three"

等价于

SADD  number  "one"  "two"  "three" 

因为可以保证唯一性,因此当重复添加相同的元素时,会被忽略。

移除元素(SREM)

可以使用SREM移除指定的元素,支持批量操作 

SREM  key  val [val2  val3...]

例如,

SREM  number  "one"  "two" 

等价于

SREM  number  "one"

SREM  number  "two"

-- 返回的移除的元素个数 

当删除的元素不存在时,则返回0

将元素从一个集合移动到另外的集合 (SMOVE)

SMOVE可以实现集合元素的移动,从set1中删除,添加到set2

SMOVE  set1  set2  element

 例如把one从number移动到english集合中

SMOVE  number  english  "one"

获取所有的元素(SMEMBERS)

使用SMEMBERS可以获取所有的元素 

SMEMBERS  key

例如,想要获取number里面的所有元素

SMEMBERS  number 

获取元素的个数(SCARD)

使用SCARD可以获取元素的个数 

SCARD  key

例如,想要获取number里面的元素个数

SCARD  number 

判断某个元素是否存在(SISMEMBER)

使用SISMEMBER判断指定元素是否存在于指定的集合

SISMEMBER  key  element

例如,判断four在不在number集合中

SISMEMBER  number  "four" 

随机获取元素(SRANDMEMBER)

1. 随机获取一个元素

SRANDMEMBER  key

示例:

SRANDMEMBER  number

-- 随机返回一个 

 2. 随机返回N个不重复元素

SRANDMEMBER  key  +N

 示例:

SRANDMEMBER  number  2

-- 返回的2个元素一定不同

3. 随机返回N个可重复元素 

SRANDMEMBER  key  -N

示例:

SRANDMEMBER  number  -2

-- 2个元素可能相同 

随机移除元素(SPOP) 

与SREM不同,SPOP是随机的。与SRANDMEMBER不同,SPOP是移除元素的。

SPOP  key  +N

如果随机移除一个元素,可以不指定N

SPOP  number 

也可以指定个数

SPOP  number  2

求交集(SINTER,  SINTERSTORE)

 将多个集合中均存在的元素取出

SINTER  set1  set2  [set3 ...]

示例:

SINTER  number  english 

 SINTERSTORE是把交集的元素存入新的键中

SINTERSTORE   new_key   set1   set2  [set3 ...]

例如

SINTERSTORE   result   number   english 

求并集(SUNION,SUNIONSTRORE) 

 使用方法类似

SUNION  set1  set2  [set3 ...] 

SUNIONSTORE  result  set1  set2  [set3 ...] 

 

求差集(SDIFF, SDIFFSTORE) 

类似的

SDIFF  set1  set2  [set3 ...] 

SDIFFSTORE   result  set1  set2  [set3 ...]  

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值