当前位置: 首页 > news >正文

redis学习笔记6--集合类型

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

在集合中的每个元素都是去重的,且没有顺序。

// 集合类型与列表类型对比

集合类型
列表类型
存储内容
至多2^32-1个字符串
至多2^32-1个字符串
有序性


唯一性



// 命令
1. 增加/删除元素
127.0.0.1:6379> sadd letters a
(integer) 1          # 返回值是成功加入的元素数量。
127.0.0.1:6379> sadd letters a b c
(integer) 2	     # 'a'已经存在,所以实际只加入了两个元素。
127.0.0.1:6379> srem letters c d
(integer) 1       # 返回实际删除元素个数,因为‘d’并不存在与集合中,实际只删除了一个。
2. 获得集合中的所有元素
127.0.0.1:6379> smembers letters
1) "b"
2) "a"

3. 判断元素是否存在集合中 

127.0.0.1:6379> sismember letters a
(integer) 1
127.0.0.1:6379> sismember letters d
(integer) 0

4. 集合间运算 

差集
A-B:
127.0.0.1:6379> sadd setA 1 2 3
(integer) 3
127.0.0.1:6379> sadd setB 2 3 4
(integer) 3
127.0.0.1:6379> sdiff setA setB
1) "1"

B-A: 

127.0.0.1:6379> sdiff setB setA
1) "4"
A-B-C:
127.0.0.1:6379> sadd setC 2 3
(integer) 2
127.0.0.1:6379> sdiff setA setB setC
1) "1"
交集
127.0.0.1:6379> sadd setA 1 2 3
(integer) 3
127.0.0.1:6379> sadd setB 2 3 4
(integer) 3
127.0.0.1:6379> sadd setC 2 3
(integer) 2
A∩B:
127.0.0.1:6379> sinter setA setB
1) "2"
2) "3"

A∩B∩C 

127.0.0.1:6379> sinter setA setB setC
1) "2"
2) "3"
并集
A∪B:
127.0.0.1:6379> sunion setA setB
1) "1"
2) "2"
3) "3"
4) "4"

A∪B∪C: 

127.0.0.1:6379> sunion setA setB setC
1) "1"
2) "2"
3) "3"
4) "4"

5. 获得集合中元素个数 

127.0.0.1:6379> smembers setA
1) "1"
2) "2"
3) "3"
127.0.0.1:6379> scard setA
(integer) 3

6. 从集合中弹出一个元素 

127.0.0.1:6379> smembers setC
1) "2"
2) "3"
127.0.0.1:6379> spop setC
"3"
127.0.0.1:6379> smembers setC
1) "2"

转载于:https://my.oschina.net/liuliufa/blog/646188

相关文章:

  • 都2020年了,你还不知道count(1)和count(*)谁效率更高吗?
  • Linux下PF_PACKET的使用,RARP的server和client程序
  • 面试官:不会真有人不知道什么是线程池吧?
  • 从零搭建基于SpringBoot的秒杀系统(一):项目准备
  • 【总结】oracle恢复误删除数据,解除锁定的等sql语句
  • 从零搭建基于SpringBoot的秒杀系统(二):快速搭建一个SpringBoot项目
  • 重拾cgi——cgi dispatcher
  • 从零搭建基于SpringBoot的秒杀系统(三):首页、详情页编写
  • 从零搭建基于SpringBoot的秒杀系统(四):雪花算法生成订单号以及抢购功能实现
  • 操作系统实验一 命令解释程序的编写
  • 从零搭建基于SpringBoot的秒杀系统(五):基于Shiro的人员登陆认证
  • 从零搭建基于SpringBoot的秒杀系统(六):使用RabbitMQ让订单指定时间后失效
  • 从零搭建基于SpringBoot的秒杀系统(七):高并发导致超卖问题分析处理
  • 从零搭建基于SpringBoot的秒杀系统(八):通过分布式锁解决多线程导致的问题
  • 读《世界是数字的》有感
  • classpath对获取配置文件的影响
  • HTML中设置input等文本框为不可操作
  • Java多态
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • js学习笔记
  • leetcode388. Longest Absolute File Path
  • Mybatis初体验
  • overflow: hidden IE7无效
  • vue中实现单选
  • 程序员最讨厌的9句话,你可有补充?
  • 基于遗传算法的优化问题求解
  • 如何在 Tornado 中实现 Middleware
  • 想写好前端,先练好内功
  • 延迟脚本的方式
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 湖北分布式智能数据采集方法有哪些?
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • (四)模仿学习-完成后台管理页面查询
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • (转)详解PHP处理密码的几种方式
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • .axf 转化 .bin文件 的方法
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET Framework杂记
  • .NET 的程序集加载上下文
  • .net操作Excel出错解决
  • .NET的微型Web框架 Nancy
  • @Autowired多个相同类型bean装配问题
  • @开发者,一文搞懂什么是 C# 计时器!
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解
  • [\u4e00-\u9fa5] //匹配中文字符
  • [CSS]盒子模型
  • [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-controller-manager失败
  • [flask]http请求//获取请求头信息+客户端信息
  • [hive]中的字段的数据类型有哪些
  • [IE编程] IE中使网页元素进入编辑模式
  • [iHooya]2023年1月30日作业解析
  • [java]删除数组中的某一个元素