MS-Redis-Set

2019-01-10  本文已影响1人  Captain_tu

Set集合类似于数学中的集合概念,与List最大的区别是,Set中不能有重复的元素,也就是可以自动去重,还可以求集合的并交差集

  1. 重要的方法
    • sadd key value1 value2 value3...
    • scard key
    • smembers key
    • spop key [count]
    • sismember key value
    • srem key value1 value2...
  2. 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已经存在,则会被重写覆盖(先清空再填进去)
  3. 常用场景
    • 需要去重的任务列表,比如爬虫时,需要爬的URL列表
上一篇下一篇

猜你喜欢

热点阅读