• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    redis集合类型_动力节点Java学院整理

    我们来看看Redis五大类型中的第四大类型:“集合类型”,集合类型还是蛮有意思的,先看redis手册,如下:

    上面就是redis中的set类型使用到的所有方法,还是老话,常用的方法也就那么四个(CURD)。。。

    一: 常用方法

    1. SAdd

      这个方法毫无疑问,就是向集合里面添加数据,比如下面这样,我往fruits集合里面添加喜爱的水果。

    127.0.0.1:6379> sadd fruits apple
    (integer) 1
    127.0.0.1:6379> sadd fruits banana
    (integer) 1
    127.0.0.1:6379> smembers fruits
    1) "banana"
    2) "apple"
    127.0.0.1:6379>

    上面这个sadd你也看到了,我往集合里面成功添加了两个元素,现在你可能不满足这么简单的添加,你或许想知道set这个集合在redis底层是使用什么来实现的,你可以用object encoding查看一下便知:

    127.0.0.1:6379> object encoding fruits
    "hashtable"
    127.0.0.1:6379>

    看到了吧,是hashtable这个,看下底层代码:

    有没有看到dictAdd方法,而其中的第三个参数正好是Null。。。对应着*val形参,然后我再带你看看dictAdd方法的定义。 

    2. SPOP,SMEMBERS

        既然元素进来了,总不能不出来吧,这里的第一个SPOP:移除并返回集合中的一个随机元素。

    刚才随便插了一句话,下面我们继续SAdd,再SPop出来。

    127.0.0.1:6379> sadd fruits pear
    (integer) 1
    127.0.0.1:6379> sadd fruits grape
    (integer) 1
    127.0.0.1:6379> sadd fruits chestnut
    (integer) 1
    127.0.0.1:6379> smembers fruits
    1) "grape"
    2) "pear"
    3) "banana"
    4) "apple"
    5) "chestnut"
    127.0.0.1:6379> spop fruits
    "apple"
    127.0.0.1:6379> spop fruits
    "chestnut"
    127.0.0.1:6379> smembers fruits
    1) "grape"
    2) "pear"
    3) "banana"
    127.0.0.1:6379>

    这个方法确实还是蛮好的,起码它是原子性操作,如果要我自己实现的话,起码还是要10行左右代码的。 

    3. SREM

        既然说到了CURD,那怎么能少了D呢,它的功能定义就是:移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略,

    下面我随便举个例子,删除fruits中的pear。

    127.0.0.1:6379> smembers fruits
    1) "grape"
    2) "pear"
    3) "banana"
    127.0.0.1:6379> srem fruits pear
    (integer) 1
    127.0.0.1:6379> smembers fruits
    1) "grape"
    2) "banana"
    127.0.0.1:6379>

    您可能感兴趣的文章:
    • Java集合类知识点总结
    • Java集合类的组织结构和继承、实现关系详解
    • java集合类源码分析之Set详解
    • Java的Hibernate框架中集合类数据结构的映射编写教程
    • Java常用工具类汇总 附示例代码
    上一篇:redis安装和配置_动力节点Java学院整理
    下一篇:redis发布订阅_动力节点Java学院整理
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    redis集合类型_动力节点Java学院整理 redis,集合,类型,动力,节点,