[转帖]SMEMBERS:获取集合包含的所有元素
https://www.bookstack.cn/read/redisguide/spilt.4.291fab46a3b4f05c.md
- SMEMBERS set
以下代码展示了如何使用 SMEMBERS 命令去获取 fruits 集合、 favorite-numbers 集合以及 databases 集合的所有元素:
- redis> SMEMBERS fruits
- 1) "banana"
- 2) "cherry"
- 3) "apple"
- redis> SMEMBERS favorite-numbers
- 1) "12345"
- 2) "999"
- 3) "3.14"
- 4) "1024"
- 5) "10086"
- redis> SMEMBERS databases
- 1) "Redis"
- 2) "PostgreSQL"
- 3) "MongoDB"
- 4) "MySQL"
元素的无序排列
因为 Redis 集合以无序的方式储存元素,并且 SMEMBERS 命令在获取集合元素时也不会对元素进行任何排序动作,所以根据元素添加顺序的不同,两个包含相同元素的集合在执行 SMEMBERS 命令时的结果也可能会有所不同。
比如在以下代码中,我们就以相反的顺序向 fruits-a 和 fruits-b 两个集合添加了相同的三个元素,但是这两个集合在执行 SMEMBERS 命令时的结果并不相同:
- redis> SADD fruits-a "apple" "banana" "cherry"
- (integer) 3
- redis> SMEMBERS fruits-a
- 1) "cherry"
- 2) "banana"
- 3) "apple"
- redis> SADD fruits-b "cherry" "banana" "apple"
- (integer) 3
- redis> SMEMBERS fruits-b
- 1) "cherry"
- 2) "apple"
- 3) "banana"
因此我们在使用 SMEMBERS 命令以及集合的时候,不应该对集合元素的排列顺序做任何假设。如果有需要的话,我们可以在客户端里面对 SMEMBERS 命令返回的元素进行排序,又或者直接使用 Redis 提供的有序结构(比如列表和有序集合)。
其他信息
| 属性 | 值 |
|---|---|
| 复杂度 | O(N),其中 N 为集合包含的元素数量。 |
| 版本要求 | SMEMBERS 命令从 Redis 1.0.0 版本开始可用。 |
[转帖]SMEMBERS:获取集合包含的所有元素的更多相关文章
- Day_11【集合】扩展案例2_使用普通for循环获取集合中索引为3的元素并打印,统计集合中包含字符串"def"的数量,删除集合中的所有字符串",将集合中每个元素中的小写字母变成大写字母def",
分析以下需求,并用代码实现 1.定义ArrayList集合,存入多个字符串"abc" "def" "efg" "def" ...
- jquery[siblings]取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合
取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合,用于筛选同辈元素的表达式 $("#pageList").click(function(){ $(this).pa ...
- Paragraph 对象'代表所选内容、范围或文档中的一个段落。Paragraph 对象是 Paragraphs 集合的一个成员。Paragraphs 集合包含所选内容、范围或文档中的所有段落。
Paragraph 对象'代表所选内容.范围或文档中的一个段落.Paragraph 对象是 Paragraphs 集合的一个成员.Paragraphs 集合包含所选内容.范围或文档中的所有段落. 方法 ...
- jsp 遍历集合——关于获取集合的长度
一,关于获取集合长度问题 在jsp页面中不能通过${list.size}取列表长度,而是 EL表达式不能获取集合的长度 如:${list.size} <%@ taglib uri="h ...
- jsp页面获取集合的长度
createTime--2016年10月12日16:20:02Author:Marydonjsp页面获取集合的长度 在jsp页面与js中不能通过${list.size}取列表长度,而是引入jstl ...
- prev([expr]) 取得一个包含匹配的元素集合中每一个元素紧邻的前一个同辈元素的元素集合。
prev([expr]) 概述 取得一个包含匹配的元素集合中每一个元素紧邻的前一个同辈元素的元素集合. 可以用一个可选的表达式进行筛选.只有紧邻的同辈元素会被匹配到,而不是前面所有的同辈元素.直线电机 ...
- children([expr]) 取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合。
children([expr]) 概述 取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合. 可以通过可选的表达式来过滤所匹配的子元素.注意:parents()将查找所有祖辈元素,而chil ...
- 【noip2016提高组day2T3】【愤怒的小鸟】状压dp转移时的集合包含
(上不了p站我要死了,图来自百度,侵权度娘背锅) 调死我了... 标题就说明了,死在了集合包含上.因为这道题与其他的状压题不同,其他的题基本上都是要求集合不重合,而这道题完全是可以的. 废话不多说,先 ...
- 如何去除List集合中的重复元素?
一.问题由来 在实际开发的时候,我们经常会碰到这么一个问题:一个集合容器里面有很多重复的对象,里面的对象没有主键,或者说忽略主键,根据业务的需求,我们需要根据条件筛选出没有重复的对象. 二.去重操作 ...
- js和jquery获取当前对象的子元素
开发中经常遇到需要获取ul下的il对象,个人总结了js和jquery的方法. HTML片断: <ul class="box"> <li>子元素1</l ...
随机推荐
- Python——第一章:占位——pass
pass: 常用于代码占位 a = 10 if a > 100: pass 当设计代码时,有些条件或代码还没有想好要如何处理,先用pass做占位,后续可以回来继续写.如果不写pass则会报错,因 ...
- OpenSSL命令总结
OpenSSL命令总结 疑今者察之古,不知来者视之往. 导航 介绍 对称加密 公钥加密 信息摘要 数字证书 杂项 介绍 密码学标准和互联网协议一样,是一种大家都遵守的约定和标准,比如PKCS#1中规定 ...
- 【scikit-learn基础】--『监督学习』之 逻辑回归分类
逻辑回归这个算法的名称有一定的误导性.虽然它的名称中有"回归",当它在机器学习中不是回归算法,而是分类算法.因为采用了与回归类似的思想来解决分类问题,所以它的名称才会是逻辑回归. ...
- MySQL 基础(三)事务与 MVCC
事务 事务是一组原子性的 SQL 操作,或者被称为一个独立的工作单元,如果数据库引擎能够成功地对数据库应用该组的全部 SQL 语句,那么就会全部执行,否则全部不执行. 事务的特性 在关系数据库管理系统 ...
- Golang实现JAVA虚拟机-指令集和解释器
原文链接:https://gaoyubo.cn/blogs/f57f32cf.html 前置 Golang实现JAVA虚拟机-解析class文件 Golang实现JAVA虚拟机-运行时数据区 一.字节 ...
- 如何解决windos系统关闭nginx进程之后仍然可以访问?
1.停止Nginx服务的四种方法 从容停止服务 这种方法较stop相比就比较温和一些了,需要进程完成当前工作后再停止. nginx -s quit 立即停止服务 这种方法比较强硬,无论进程是否在工作, ...
- 文心一言 VS 讯飞星火 VS chatgpt (45)-- 算法导论6.1 3题
三.证明:在最大堆的任一子树中,该子树所包含的最大元素在该子树的根结点上. 文心一言: 在最大堆中,根结点是整个堆中最大元素的孩子,因此它包含的最大元素是在该子树的根结点上. 我们可以通过递归的方式证 ...
- C++中自定义结构体或类作为关联容器的键
目录 1. 概述 2. 实例 1. 概述 STL中像set和map这样的容器是通过红黑树来实现的,插入到容器中的对象是顺序存放的,采用这样的方式是非常便于查找的,查找效率能够达到O(log n).所以 ...
- 5步带你掌握工作流Activiti框架的使用
摘要:本文通过一个工作流Activiti框架的具体使用示例,具体详尽的介绍了工作流Activiti框架的使用方式. 本文分享自华为云社区<一个使用示例,五个操作步骤!从此轻松掌握项目中工作流的开 ...
- 火山引擎DataLeap数据质量解决方案和最佳实践(二):解决方案
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 DataLeap流批数据质量解决方案 产品功能架构 火山引擎DataLeap流批数据质量解决方案有 4 个大的功能 ...