您的位置:首页 > 数据库 > Redis

Redis Set 命令

2015-06-12 15:24 561 查看
 

 

1.Set

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

 

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

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

 

 

2. CRUD

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

smembers s1



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

sadd s1 hello



 

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

srem s1 hello



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

spop s1

 



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

srandmember s1

 



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

smove s1 s2 hello3

 



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

sismember s1 hello4

 



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

scard s2



 

 

3.集合命令

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

sinter s1 s2

 



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

sinterstore s3 s1 s2

 



sunion(求两个集合的并集,类似sinter)

sunionstore(求两个集合的并集,并存储在第三个集合,类似sinterstore)

sdiff(求两个集合的差集,类似sinter)

sdiffstore(求两个集合的并集,并存储在第三个集合,类似sinterstore)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: