集合使用与内部实现原理

集合类型 (Set) 是一个无序并唯一的键值集合。

之所以说集合类型是一个无序集合,是因为它的存储顺序不会按照插入的先后顺序进行存储,如下代码所示:

127.0.0.1:6379> sadd myset v2 v1 v3 #插入数据 v2、v1、v3 
(integer) 3
127.0.0.1:6379> smembers myset #查询数据
1) "v1"
2) "v3"
3) "v2"

从上面代码执行结果可以看出,myset 的存储顺序并不是以插入的先后顺序进行存储的。

集合类型和列表类型的区别如下:

  • 列表可以存储重复元素,集合只能存储非重复元素;
  • 列表是按照元素的先后顺序存储元素的,而集合则是无序方式存储元素的。

1 基础使用

集合类型的功能比列表类型丰富一些,集合类型可以用来统计多个集合的交集、错集和并集,如下代码所示。

1)添加一个或多个元素

语法:sadd key member [member …] 示例:

127.0.0.1:6379> sadd myset v1 v2 v3
(integer) 3

2)查询集合所有元素

语法:smembers key 示例:

127.0.0.1:6379> smembers myset
1) "v1"
2) "v3"
3) "v2"

3)查询集合的成员数量

语法:scard key 示例:

127.0.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/545501.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

parse 日期_日期parse()方法以及JavaScript中的示例

parse 日期JavaScript Date parse()方法 (JavaScript Date parse() method) parse() method is a Date class method, it is used to parse a given date string and returns the total number of milliseconds since 01st January 1970 (midnight) to given date string. pars…

ORA-01002 提取违反顺序

ORA-01002 提取违反顺序 ORA-01002 ORA-01002: fetch out of sequence Cause: This error means that a fetch has been attempted from a cursor which is no longer valid. Note that a PL/SQL cursor loop implicitly does fetches, and thus may also cause this error. Th…

Android 友盟SDK 终极解决报错:SocialSDK_QQZone_2.jar contains native libraries that

转自:http://bbs.umeng.com/thread-6552-1-2.html 报错信息:The library SocialSDK_QQZone_2.jar contains native libraries that will not run on the device.解决方案:此问题和Eclipse环境有关,按照如下步骤操作即可Eclipse-&g…

Redis 持久化——AOF

使用 RDB 持久化有一个风险,它可能会造成最新数据丢失的风险。因为 RDB 的持久化有一定的时间间隔,在这个时间段内如果 Redis 服务意外终止的话,就会造成最新的数据全部丢失。 可能会操作 Redis 服务意外终止的条件: 安装 Redis 的机器停止运行,蓝屏或者系统崩溃;安装 R…

数组的fill方法_数组fill()方法以及JavaScript中的示例

数组的fill方法JavaScript fill()方法 (JavaScript fill() method) fill() method is used fill the array with a given value. fill()方法用于使用给定值填充数组。 Syntax: 句法: array.fill(value, [start_index], [end_index]);Parameters: 参数&#xff1a…

第四章文件管理

第四章文件管理4.1_2初识文件4.1_2文件的逻辑结构无结构文件有结构文件(1)顺序文件(2)索引文件索引顺序文件多级索引顺序文件4.1_3文件目录文件控制块FCB(2)单级目录(3)两级目录结构…

current of 使用

--Where Current Of语句允许你更新或者是删除最后由cursor取的记录declarecursor c_emp is select * from emp2 for update;beginfor v_emp in c_emp loopif substr(v_emp.ename,1,1)S thenupdate emp2 set comm nvl(comm,0)1000 where current of c_emp;end if;end loop;comm…

免费的管理页面模板

2019独角兽企业重金招聘Python工程师标准>>> Free Bootstrap Admin Templates for Designers 1. Admin Lite AdminLTE - 是一个完全响应式管理模板。基于Bootstrap3的框架。高度可定制的,易于使用。支持很多的屏幕分辨率适合从小型移动设备到大型台式机。…

Redis 持久化——RDB

Redis 的读写都是在内存中,所以它的性能较高,但在内存中的数据会随着服务器的重启而丢失,为了保证数据不丢失,我们需要将内存中的数据存储到磁盘,以便 Redis 重启时能够从磁盘中恢复原有的数据,而整个过程就叫做 Redis 持久化。 Redis 持久化也是 Redis 和 Memcached 的主…

c# 命名空间命名规范_C#命名空间能力问题和解答 套装2

c# 命名空间命名规范1) Can we create a nested namespace in C#.NET? YesNo Answer & Explanation Correct answer: 1Yes Yes, we can create a nested namespace in C#.NET. 1)我们可以在C#.NET中创建嵌套的名称空间吗? 是 没有 答案与解释 正确…

MATLAB使用教程

MATLAB使用教程2.1.1 MATLAB系统环境(1)命令行窗口(2)工作区窗口2.2.1MATLAB数值数据(1)强制转换如转换为int整形(2)判断变量类型(3)复型(4&#…

Oracle笔记:循环及游标

循环及退出循环&#xff1a; --while--初值while 条件loop循环体;循环变量的变化;end loop;--breakif 条件 thenexit;end if;--continue<<label>>....if 条件 thengoto label;end if; --例declarei integer;j integer;begin j:1;<<b>> while j<9l…

Redis 事务深入解析

作为关系型数据库中一项非常重要的基础功能——事务,在 Redis 中是如何处理并使用的? 前言 事务指的是提供一种将多个命令打包,一次性按顺序地执行的机制,并且保证服务器只有在执行完事务中的所有命令后,才会继续处理此客户端的其他命令。 事务也是其他关系型数据库所必…

Java Thread类的最终void join()方法与示例

线程类最终void join() (Thread Class final void join()) This method is available in package java.lang.Thread.join(). 软件包java.lang.Thread.join()中提供了此方法。 join() method is applicable when a thread wants to wait until completing some other thread the…

解决myeclipse中新导入的工程旁出现红色感叹号的问题

2019独角兽企业重金招聘Python工程师标准>>> 或许很多像我这样的java初学者在使用myeclipse时出现新导入的工程旁边有红色的感叹号。 1.问题一般就是java build path 设置不正确的问题。解决步骤如下&#xff1a; 右击工程找到Build Path——>Configure Build Pa…

层次分析法

层次分析法一、层次分析法原理二、解题步骤&#xff08;1&#xff09;层次结构模型&#xff08;2&#xff09;成对比较矩阵①成对比较矩阵&#xff08;有现成代码进行一致性检验和求权重&#xff09;②成对比较阵标度表及举例③一致性检验三、旅游性问题举例&#xff08;1&…

ORA-00997: 非法使用 LONG 数据类型

今天在创建表的时候直接用的create table XXX as select * from AAA;结果出了一个&#xff1a;ORA-00997: 非法使用 LONG 数据类型 的错误。后来查了一下&#xff0c;做下笔记&#xff1a;1、select查询语句中用到where 语句和排序时不能直接 使用数据类型为long的字段&#xf…

Redis 持久化——混合持久化

RDB 和 AOF 持久化各有利弊,RDB 可能会导致一定时间内的数据丢失,而 AOF 由于文件较大则会影响 Redis 的启动速度,为了能同时使用 RDB 和 AOF 各种的优点,Redis 4.0 之后新增了混合持久化的方式。 在开启混合持久化的情况下,AOF 重写时会把 Redis 的持久化数据,以 RDB 的…

Java ObjectInputStream readDouble()方法与示例

ObjectInputStream类readChar()方法 (ObjectInputStream Class readChar() method) readChar() method is available in java.io package. readChar()方法在java.io包中可用。 readChar() method is used to read 2 byte (i.e. 16 bit) of character from this ObjectInputStre…

sql2005(64位企业版)+weblogic9.2+win2008集群

服务器是win2008,64位&#xff0c;32gb内存&#xff0c;安装了sql2005&#xff08;64)的企业版数据库&#xff0c;中间件为weblogic9.2&#xff0c;部署了一个主服务&#xff0c;一个代理服务&#xff0c;4个节点。服务起来后&#xff0c;代理服务报错如下&#xff1a;<2011…