MS-Redis-Set
2019-01-10 本文已影响1人
Captain_tu
Set集合类似于数学中的集合概念,与List最大的区别是,Set中不能有重复的元素,也就是可以自动去重,还可以求集合的并交差集
- 重要的方法
- sadd key value1 value2 value3...
- scard key
- smembers key
- spop key [count]
- sismember key value
- srem key value1 value2...
- API
- sadd key value1 value2 value2
向key中添加value,如果key中已经存在value,则什么都不做,返回0,否则返回插入成功的个数 - scard key
获取key中元素的个数,即key的长度 - srem key value1 value2
删除key中的value - spop key [count]
从key中随机弹出count个元素
count为可选值,默认弹出一个
如果 count大于key的长度,则弹出所有的元素 - sismember key value
获取key中是否存在value - smembers key
获取set中的全部元素 - srandmember key [count]
随机获取key中的count个元素
count可选,默认为1,如果为负数,获取|count|个元素 - smove source destination member
将member从source中,移动到destination中 - sinter key1 key2 key3...
获取key1和key2, key3的交集,即所有集合中都存在的元素 - sunion key1 key2 key3
获取key1,key2,key3...的并集,即所有出现过的元素 - sdiff key1 key2 key3
获取key1,key2,key3的差集,即key1中存在,其他集合不存在的元素 - sinterstore destination key1 key2 key3
sdiffstore destination key1 key2 key3
sunionstore destination key1 key2 key3
与sinter, sdiff, sunion的区别是,会将结果存到destination中去
如果destination已经存在,则会被重写覆盖(先清空再填进去)
- sadd key value1 value2 value2
- 常用场景
- 需要去重的任务列表,比如爬虫时,需要爬的URL列表