存储Set

和List类型不同的是,Set集合中不允许出现重复的元素

Set可包含的最大元素数量是4294967295

存储set常用命令:

添加/删除元素

获取集合中的元素

集合中的差集运算

集合中的交集运算

集合中的并集元算

扩展命令

sadd key member [member ...]

添加set元素

127.0.0.1:6379> sadd set1  a b c

(integer) 3

添加三个元素

smembers key

查看指定key集合元素

127.0.0.1:6379> smembers set1

1) "c"

2) "b"

3) "a"

127.0.0.1:6379> sadd set1 a d e

(integer) 2

127.0.0.1:6379> smembers set1

1) "c"

2) "d"

3) "b"

4) "a"

5) "e"

继续添加元素 发现 重复元素不再添加

srem key member [member ...]

删除元素

127.0.0.1:6379> srem set1 a d

(integer) 2

127.0.0.1:6379> smembers set1

1) "b"

2) "c"

3) "e"

删除两个元素

sismember key member

判断某个元素是否存在 返回1 表示存在 返回0表示不存在

127.0.0.1:6379> sismember set1 a

(integer) 0

127.0.0.1:6379> sismember set1 b

(integer) 1

sdiff计算差集

127.0.0.1:6379> sadd set2 a b c

(integer) 3

127.0.0.1:6379> sadd set3 b c d e

(integer) 4

127.0.0.1:6379> sdiff set2 set3

1) "a"

127.0.0.1:6379> sdiff set3 set2

1) "d"

2) "e"

我们发现 集合的顺序不同 结果不一样 根据前者参考

sinter计算交集

127.0.0.1:6379> sinter set2 set3

1) "c"

2) "b"

sunion计算并集

127.0.0.1:6379> sunion set2 set3

1) "e"

2) "a"

3) "b"

4) "c"

5) "d"

scard计算元素总数

127.0.0.1:6379> smembers set1

1) "b"

2) "c"

3) "e"

127.0.0.1:6379> scard set1

(integer) 3

srandmember 随机取一个元素

127.0.0.1:6379> srandmember set1

"c"

127.0.0.1:6379> srandmember set1

"e"

sdiffstore 把差集结果存储到新集合中

127.0.0.1:6379> smembers set2

1) "c"

2) "b"

3) "a"

127.0.0.1:6379> smembers set3

1) "c"

2) "e"

3) "d"

4) "b"

127.0.0.1:6379> sdiffstore r1 set2 set3

(integer) 1

127.0.0.1:6379> smembers r1

1) "a"

sinterstore 把交集结果存储到新集合中

127.0.0.1:6379> sinterstore r2 set2 set3

(integer) 2

127.0.0.1:6379> smembers r2

1) "c"

2) "b"

sunionstore把并集结果存储到新集合中

127.0.0.1:6379> sunionstore r3 set2 set3

(integer) 5

127.0.0.1:6379> smembers r3

1) "e"

2) "a"

3) "b"

4) "c"

5) "d"

存储Set使用场景

跟踪一些唯一性数据

用于维护数据对象之间的关联关系

Redis的数据结构之Set的更多相关文章

  1. Redis基本数据结构总结之STRING和LIST

    Redis基本数据结构总结前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我们 ...

  2. Redis基本数据结构总结之SET、ZSET和HASH

    Redis基本数据结构总结 前言 Redis的特点在于其读写速度特别快,因为是存储在内存中的,其非常适合于处理大数据量的情况:还有一个是其不同于其他的关系型数据库,Redis是非关系型数据库,也就是我 ...

  3. Redis各种数据结构性能数据对比和性能优化实践

    很对不起大家,又是一篇乱序的文章,但是满满的干货,来源于实践,相信大家会有所收获.里面穿插一些感悟和生活故事,可以忽略不看.不过听大家普遍的反馈说这是其中最喜欢看的部分,好吧,就当学习之后轻松一下. ...

  4. 聊一聊Redis的数据结构

    如果没有记错的话,应该是在两个月前把 我们经常看到此类的文章: Redis的五种数据结构 Redis的数据结构以及对应的使用场景 其实以数据结构这个词去说明Redis的String.Hash.List ...

  5. Redis学习——数据结构介绍(四)

    一.简介 作为一款key-value 的NoSQL数据库,Redis支持的数据结构比较丰富,有:String(字符串) .List(列表) .Set(集合) .Hash(哈希) .Zset(有序集合) ...

  6. Redis常用数据结构

    Redis常用数据结构包括字符串(strings),列表(lists),哈希(hashes),集合(sets),有序集合(sorted sets). redis的key最大不能超过512M,可通过re ...

  7. Redis的数据结构、通用操作及其特性

    Redis的数据结构 五种数据类型: 字符串(String).字符串列表(list).字符串集合(set).有序字符串集合(sorted set).哈希(hash) key定义的注意点: 不要过长,不 ...

  8. Redis学习笔记之Redis基本数据结构

    Redis基础数据结构 Redis有5种基本数据结构:String(字符串).list(列表).set(集合).hash(哈希).zset(有序集合) 字符串string 字符串类型是Redis的va ...

  9. 你真的懂redis的数据结构了吗?redis内部数据结构和外部数据结构揭秘

    Redis有哪些数据结构? 字符串String.字典Hash.列表List.集合Set.有序集合SortedSet. 很多人面试时都遇到过这种场景吧? 其实除了上面的几种常见数据结构,还需要加上数据结 ...

  10. Redis的数据结构

    Redis的数据结构 redis是一种高级的key-value的存储系统,其中value支持五种数据类型. 字符串(String) 哈希(hash) 字符串列表(list) 字符串集合(set) 有序 ...

随机推荐

  1. python学习之Numpy.genfromtxt

    Python 并没有提供数组功能,虽然列表 (list) 可以完成基本的数组功能,但它并不是真正的数组,而且在数据量较大时,使用列表的速度就会慢的让人难受.Numpy 提供了真正的数组功能,以及对数据 ...

  2. SlopeOne

    相信大家对如下的Category都很熟悉,很多网站都有类似如下的功能,“商品推荐”,"猜你喜欢“,在实体店中我们有导购来为我们服务,在网络上 我们需要同样的一种替代物,如果简简单单的在数据库 ...

  3. Vue父子组件之间的相互通信

    组件是Vue知识体系中最重要的一部分之一,父子组件由于作用域的不同,无法直接对对方的数据进行操作.它们之间的数据传递都是通过中间介质进行的,父组件给子组件传值是通过props属性,而子组件给父组件传值 ...

  4. 使用EasyNetQ简化RabbitMQ操作

    关于具体的操作看查看官方文档:https://github.com/EasyNetQ/EasyNetQ 也可以参考中文翻译版本:http://www.cnblogs.com/HuangLiang/p/ ...

  5. Valgrind与内存问题

    1 简介 "Valgrind是一款用于内存调试.内存泄漏检测以及性能分析的软件开发工具.Valgrind这个名字取自北欧神话中英灵殿的入口. Valgrind的最初作者是Julian Sew ...

  6. Redis数据结构之intset(2)

    本文及后续文章,Redis版本均是v3.2.8 上文我们说到intset整型集合的数据结构定义即元素的添加和查询操作,本文我们来看下Redis暴露给外面使用的Set集合,先通过一些基本的命令回顾下se ...

  7. Python学习(四十一)—— Djago进阶

    一.分页 Django的分页器(paginator) view from django.shortcuts import render,HttpResponse # Create your views ...

  8. zTree 3-- jQuery 树插件笔记

    地址:http://www.treejs.cn/v3/demo.php#_507 数据结构json,里可以自定义属性. var zNodes =[ { name:"父节点1 - 展开&quo ...

  9. 禁用大陆ip段

    https://www.ip2location.com/free/visitor-blocker 有 .htaccess web.config等 以iis为例 打开C:\Windows\System3 ...

  10. Cow Relays POJ - 3613 (floyd+快速幂)

    For their physical fitness program, N (2 ≤ N ≤ 1,000,000) cows have decided to run a relay race usin ...