Redis Set 命令

 

 

1.Set

set是string类型的无序集合,其参考来源应该属于STL中的Set。

 

•set元素最大可以包含(2的32次方-1)个元素。

•set的是通过hash table实现的,hash table会随着添加或者删除自动的调整大小。

 

 

2. CRUD

  • smembers:

    smembers key 返回key对应set的所有元素,结果是无序的

  1. smembers s1

  • sadd:

    sadd key member 添加一个string元素到key对应的set集合中,成功返回1,如果元素以及在集合中返回0,key对应的set不存在返回错误

  1. sadd s1 hello

 

  • srem:

    srem key member 从key对应set中移除给定元素,成功返回1,如果member在集合中不存在或者key不存在返回0,如果key对应的不是set类型的值返回错误

  1. srem s1 hello

  • spop:

    spop key 删除并返回key对应set中随机的一个元素,如果set是空或者key不存在返回nil.

  1. spop s1

 

  • srandmember:

    srandmember key 同spop,随机取set中的一个元素,但是不删除元素。

  1. srandmember s1

 

  • smove:

    smove srckey dstkey member 从srckey对应set中移除member并添加到dstkey对应set中,整个操作是原子的。成功返回1,如果member在srckey中不存在返回0,如果key不是set类型返回错误.

  1. smove s1 s2 hello3

 

  • sismember:

    sismember key member 判断member是否在set中,存在返回1,0表示不存在或者key不存在.

  1. sismember s1 hello4

 

  • scard:

    scard key 返回set的元素个数,如果set是空或者key不存在返回0

  1. scard s2

  •  

 

3.集合命令

  • sinter:

    sinter key1 key2...keyN 返回所有给定key的交集

  1. sinter s1 s2

 

  • sinterstore:

    sinterstore dstkey key1...keyN 同sinter,但是会同时将交集存到dstkey下

  1. sinterstore s3 s1 s2

 

  • sunion(求两个集合的并集,类似sinter)
  • sunionstore(求两个集合的并集,并存储在第三个集合,类似sinterstore)
  • sdiff(求两个集合的差集,类似sinter)
  • sdiffstore(求两个集合的并集,并存储在第三个集合,类似sinterstore)
原文地址:https://www.cnblogs.com/pengzhen/p/4571788.html