源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-10-31 10:32 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:redis集合类型_动力节点Java学院整理
我们来看看Redis五大类型中的第四大类型:“集合类型”,集合类型还是蛮有意思的,先看redis手册,如下: [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100147_0_30438.jpg[/img] 上面就是redis中的set类型使用到的所有方法,还是老话,常用的方法也就那么四个(CURD)。。。 [b]一: 常用方法[/b] [b]1. SAdd[/b]   这个方法毫无疑问,就是向集合里面添加数据,比如下面这样,我往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>
[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100148_1_9255.jpg[/img] 上面这个sadd你也看到了,我往集合里面成功添加了两个元素,现在你可能不满足这么简单的添加,你或许想知道set这个集合在redis底层是使用什么来实现的,你可以用object encoding查看一下便知:
127.0.0.1:6379> object encoding fruits
"hashtable"
127.0.0.1:6379>
看到了吧,是hashtable这个,看下底层代码: [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100148_2_88519.jpg[/img] 有没有看到dictAdd方法,而其中的第三个参数正好是Null。。。对应着*val形参,然后我再带你看看dictAdd方法的定义。  [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100149_3_6263.jpg[/img] [b]2. SPOP,SMEMBERS[/b]     既然元素进来了,总不能不出来吧,这里的第一个SPOP:移除并返回集合中的一个随机元素。 [img]http://img.1sucai.cn/uploads/article/2018010710/20180107100149_4_83788.jpg[/img] 刚才随便插了一句话,下面我们继续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>
[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100150_5_90871.jpg[/img] 这个方法确实还是蛮好的,起码它是原子性操作,如果要我自己实现的话,起码还是要10行左右代码的。  [b]3. SREM[/b]     既然说到了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>
[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100150_6_5456.jpg[/img]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部