zoukankan      html  css  js  c++  java
  • Redis的Set无序集合命令

          Set是集合,它是string类型的无序集合。set是通过hash table实现的,添加、删除和查找的复杂度都是0(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。

      Set无序集合
    添加一个元素 >sadd myset2 one
    向myset1集合添加一个元素“one”
    返回:成功返回1,失败返回0
    注: 1.集合中的元素值是唯一的(不允许重复,也没有重复)
       
    查看某一集合所有元素 >smembers myset2
    查看myset2集合中所有元素
    返回:返回当前集合所有元素
    随机返回集合中一个元素 >srandmember myset1
    随机读取一个myset1集合中的元素
    判断某集合中是否存在某个元素
    (判断某元素是否存在于集合中)
    >sismember myset1 four
    判断myset1中是否存在“four”这个元素。即:判断“four”是否是myset1中的元素
    返回:存在返回1,不存在返回0
    获取集合中元素总个数 >scard myset1
    返回集合中的元素总个数;
       

    获取第一个集合与其后若干集合的差集

    sdiff = set difference ['dɪfrəns]

    >sdiff myset1
    取myset1与一个空集合的差集(其实仍为自身,同smembers myset1效果)

    >
    sdiff myset1 myset2
    取myset1与myset2的差集

    >
    sdiff myset1 myset2 myset3
    取myset1与myset2、myset3的多个集合的差集
    获取差集,并将结果存储到前面的集合中 >sdiffstore mySetDiff myset1 myset2
    获取myset1与myset2的差集,并将结果存储到前面的mySetDiff中
    返回:返回新集合mySetDiff的元素个数
       
    获取第一个集合与其后若干集合的交集

    sinter = set intersection[ˌɪntə'sekʃn] 
    >sinter myset1
    获取myset1与一个空集的交集(其实仍为自身,同smembers myset1效果)

    >
    sinter myset1 myset2
    1) "four"
    2) "three"
    3) "two"
    获取myset1与myset2的交集

    >
    sinter myset1 myset2 myset3
    1) "three"
    获取myset1与myset2、myset3的多个集合的交集
    获取交集,并将结果存储到前面的集合中 >sinterstore mySetInter myset1 myset2
    获取myset1与myset2的交集,并将结果存储到前面的mySetInter中
    返回:返回新集合mySetDiff的元素个数
       
    获取第一个集合与其后若干集合的并集 >sunion myset1
    获取myset1与一个空集合的并集
    (其实仍为自身,同smembers myset1效果)

    >
    sunion myset1 myset2
    获取myset1与myset2的并集

    >
    sunion myset1 myset2 myset3
    获取myset1与myset2、myset3的多个集合的并集
    获取并集,并将结果存储到前面的集合中 >sunionstore mySetUnion myset1 myset2 myset3
    获取myset1与myset2、myset3的并集,
    并将结果存储到前面的mySetUnion中
    返回:返回新集合mySetUnion的元素个数
       
    移动元素:从前一集合向后一集合移动一个元素 >smove myset1 myset2 two
    从myset1移动到myset2中一个值为“two”元素;
    如果被移除的元素在myset1中不存在,返回0,否则返回1;
    如果目标集合中已经存在“two”元素,则覆盖存储。
    注:每次只能移动一个元素,成功返回1,失败返回0;
       
    删除指定若干元素 >srem myset2 tom       删除一个元素tom
    >
    srem myset2 jack mary 删除多个元素jack 和 mary

    返回实际被删除的元素个数
    随机弹出(删除)一个元素 >spop myset2
    返回:返回被弹出的元素值
       
  • 相关阅读:
    mybatis typeAlias (别名)说明
    jsp路径
    Jutil 单元测试
    SpringMVC数据绑定
    EL表达式(Exprission language)
    JSTL (标准标签库)
    Introduce Null Object
    Replace Type Code With Class和Replace Type Code With Subclass和Replace Type Code With State/Strategy
    利用QBuffer和QLinkedList做数据块存储队列
    Duplicate Observed Data
  • 原文地址:https://www.cnblogs.com/martinzhang/p/3397208.html
Copyright © 2011-2022 走看看