`

redis集合类型概述(2-1)

阅读更多
  • 集合类型的概念
  • 集合类型的底层实现
  • 集合类型的应用场景


一、set是string类型的无序集合,无重复元素,底层是hashtable。对该集合可以取并集、交集、差集。(通过这些操作我们可以实现sns中的好友推荐)。set的最大长度是2^32-1.

二、底层实现
Redis 集合类型使用两种数据结构作为底层实现:
1. 整数集合
2. 字典
当集合对象保存的所有元素都是整数值且元素数量不超过512个时使用整数集合;不满足这个条件的集合对象使用 hashtable 编码。

当使用字典编码时,集合将元素保存到字典的键里面,而字典的值统一设为 NULL,下图展示了一个以字典编码表示的集合,集合成员为 elem1、elem2 和 elem3。

图解(引自极客学院玉不琢老师):
集合:

底层存储模式:
  • 大小: 208.2 KB
  • 大小: 116.2 KB
分享到:
评论

相关推荐

    Redis进阶实践之十四 Redis-cli命令行工具使用详解第一部分.md

    ### Redis进阶实践之十四 Redis-cli命令行工具使用详解(第一部分) 这份资源详细介绍了 Redis 的命令行工具 Redis-cli ...- **数据类型**:介绍 Redis 支持的不同数据类型(字符串、哈希、列表、集合、有序集合等)的

    redis基本使用已经应用场景

    1. 多样的数据类型:Redis 支持多种数据类型,例如字符串、哈希表、列表、集合等。 2. 持久化:Redis 支持持久化,能够将数据保存到硬盘中,以防止数据丢失。 3. 集群:Redis 支持集群,能够提供高可用性和高性能。 ...

    跨平台Redis管理工具Kedis:基于Node.js与Vue+Electron的源码

    项目概述:Kedis是一款基于Node.js、Vue和Electron构建的跨平台Redis管理工具。该工具拥有201个文件,其中包括Vue组件、TypeScript脚本、CSS样式表、JavaScript逻辑以及HTML页面。具体文件类型分布为:SCSS样式文件...

    redis 使用说明 redis 使用说明

    Redis 支持 5 种基本数据类型,包括字符串、哈希、列表、集合、有序集合。每种数据类型都有其特点和应用场景。 字符串(String) 字符串是 Redis 中最基本的数据类型,用于存储简单的字符串值。Redis 提供了多种...

    Java面试八股文.zip

    2.2 Redis数据类型及其应用 2.3 Redis持久化机制 2.4 Redis高级特性和集群 3. MySQL数据库篇 3.1 MySQL简介和基本操作 3.2 数据库设计范式和优化 3.3 事务和并发控制 3.4 索引和优化技巧 4. 框架篇 4.1 ...

    Python使用Redis实现作业调度系统(超简单)

    概述 Redis是一个开源,先进的key-value...支持丰富的数据类型:Redis支持最大多数开发人员已经知道像列表,集合,有序集合,散列数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它

    Redis教程(六):Sorted-Sets数据类型

     Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中。它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数(score)与之关联,Redis正是通过分数来为集合中的成员...

    Redis与MongoDB

    Redis 是一种基于键值对的NoSQL数据库,它提供了对多种数据类型(字符串、哈希、列表、集合、有序集合、位图等)的支持,能够满足很多应用场景的需求。Redis将数据放在内存中,因此读写性能是非常惊人的。与此同时,...

    Java面试宝典八股文,金三银四

    Java 面试宝典,涵盖了 Java 及其相关技术栈的知识点,包括 Java 基础、Java 虚拟机(JVM)、Java 集合框架、Java 多线程、Java 网络编程、Java 数据库编程、Linux 操作系统、Docker 容器化技术、Redis 缓存技术等。...

    全新JAVAEE大神完美就业实战课程 超150G巨制课程轻松实战JAVAEE课程 就业部分.txt

    9搜索解决方案-Solr-1 10搜索解决方案-Solr-2 11搜索解决方案-Solr-3 12网页静态化解决方案-Freemarker 13消息中间件解决方案JMS 14SpringBoot框架与短信解决方案 15单点登录解决方案CAS 16购物车解决方案 ...

    《小熊学Java 面试手册》v1.0.pdf

    Java基础:要了解一下Java概述,熟悉基本语法、数据类型、异常的处理,重点是面向对象,封装、继承、多态;面试中高频问点就是多线程与并发、JVM,还有集合的源码等Java高级:高级部分包括Java反射,JVM、并发编程...

    JAVA基础技术框架详解二.pdf

    * Java 集合框架的概述:包括 Collection、List、Set、Map 等接口。 * ArrayList 和 LinkedList 的比较:包括它们的实现原理、优缺点等。 * HashMap 和 ConcurrentHashMap 的比较:包括它们的实现原理、优缺点等。 ...

    python入门到高级全栈工程师培训 第3期 附课件代码

    07 Model操作概述 08 Model字段 09 Model连表字段参数详解 10 Model自定义多对多第三张表 11 强插一道面试题 12 Model连表操作梳理 13 多对多自关联 14 Model操作补充 15 再插两道JavaScript面试题 16 Model操作之...

Global site tag (gtag.js) - Google Analytics