欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Redis set(集合)相关命令

程序员文章站 2022-07-09 21:17:49
Redis 的 Set 是 String 类型的无序集合,元素不允许重复。 Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 集合中最大的元素数为 232 - 1 (40多亿)。 1、sadd key value1 value2 ...... //向集合中添加一个或 ......

redis 的 set 是 string 类型的无序集合,元素不允许重复。

redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 o(1)。

集合中最大的元素数为 232 - 1 (40多亿)。

 

 

1、sadd  key  value1  value2 ......    //向集合中添加一个或多个元素。sadd即set add,key是集合的名称。返回此次添加的元素个数。

 

2、scard  key   //返回集合的元素个数

 

3、smembers  key   //返回集合中所有的元素

 

4、sismember  key  elementvalue   //判断该集合中是否有elementvalue这个元素。有返回1,没有或者key不存在则返回0.

 

5、spop  key    //随机移除并返回集合中的一个元素

 

6、srandmember  key    //随机返回集合中的一个元素,并不移除该元素。srandmember即set random  member.

可带一个可选参数:srandmember  key  count    //count是一个整数,指定返回的元素个数。

count>0:随机返回count个元素,这些元素互不相同。随机确定一个返回的元素后,再从剩余的元素中随机。

count<0:随机返回count的绝对值个元素,这些元素可能相同。每次都是从整个集合中随机一个。

count的绝对值大于等于集合的元素个数时,返回集合中所有的元素。

 

7、srem  key  value1  value2 ....    //移除集合中的一个或多个元素,若集合中没有该元素,会忽略该元素。

 

8、smove  sourcekey  destkey  elementvalue   //将元素从一个集合移动到另一个集合。(剪切)

 

 

 

9、sscan key  cursor   match  pattern  count  num    //迭代集合中的元素。cursor指定对每元素的操作。

2个可选参数:

  • match  pattern   指定配置模式,只迭代符合pattern的元素
  • count  num    指定要迭代的元素个数

 

 

 

 

10、sinter  key1  key2  ....     //返回这些集合的交集

11、sinterstore  destkey  key1  key2  .....     //多了store,求key1、key2.....这些集合的交集,并将交集中的元素存储在destkey集合中,返回交集中的元素个数

 

相同用法的还有:

  • sunion   并集
  • sdiff  差集