`

浅谈redis数据结构之集合

阅读更多

1. 集合

       集合(set)类型也是用来保存多个字符串元素,但和列表类型不一样的是,集合中不允许有重复元素,并且集合中的元素是无序的,不能通过索引下标获取元素。极限情况,一个集合最多可以存储2 ^ 32 - 1个元素。

       假设集合user:1:follow包含着 "it"、"music"、"his"、"sports"四个元素,如下图所示:

       

       Redis除了支持集合内的增删改查,同时还支持多个集合取交集、并集、差集。合理地使用好集合类型,能在实际开发中解决很多实际问题。

 

2. 相关命令

  • 集合内的操作命令

 

  • 集合间的操作命令

 

 

  • 集合命令的时间复杂度

 

3. 内部编码

       集合类型的内部编码有两种,如下表所示:

内部编码 说明
整数集合(intset) 当集合中的元素都是整数且元素个数小于set-max-intset-entries配置(默认512个)时,Redis会选用intset来作为集合的内部实现,从而减少内存的使用。
哈希表(hashtable) 当集合类型无法满足intset的条件时,Redis会使用hashtable作为集合的内部实现。

 

       由于篇幅所限,这里就不掩饰元素个数超过默认配置的场景了,具体示例如下图所示:

 

4. 后续

       本文介绍了Redis中的集合的一些基本命令,包括集合内部的操作命令和集合之间的操作命令,其次还介绍了集合的内部编码转换。

       下面一篇文章会单独研究下以用户行为标签为主的应用场景,整理中.......

分享到:
评论

相关推荐

    redis数据结构服务器

    Redis是一款开源的、高性能的...Redis的键值可以包括字符串(strings)类型,同时它还包括哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等数据类型。 对于这些数据类型,你可以执行原子操作

    01-VIP-Redis核心数据结构与核心原理1

    Redis是一款高性能的键值存储系统,它以其丰富的数据结构、高效的数据操作以及强大的持久化机制在现代互联网架构中扮演着重要角色。本篇文章主要探讨Redis的核心数据结构和核心原理,以及如何利用IO多路复用技术处理...

    redis数据结构

    自己整理的redis自定义的数据结构,对理解redis运行的内部原理会有所帮助

    小林的图解系列之一,图解redis数据结构

    【小林的图解系列之一,图解Redis数据结构】 Redis是一种高性能的内存数据库,其速度之快得益于其数据结构的高效实现。Redis中的数据结构并非仅限于基础的String、List、Hash、Set和Zset等数据类型,而是指它们在...

    Redis 数据结构1

    7. Redis 对象和数据结构:Redis 提供的列表、哈希、集合和有序集合等对象,根据数据规模和特性,可能使用不同的底层实现,如ziplist适用于小数据量场景,而大列表可能使用链表或跳跃表,哈希可能用字典,有序集合...

    redis基础数据结构讲解

    Redis支持多种数据类型,本篇文章将对Redis的基础数据结构进行讲解,包括string(字符串)、list(列表)、set(集合)、hash(哈希)以及zset(有序集合)。掌握这些基础数据结构对使用Redis至关重要。 首先,字符...

    Redis基础架构与数据类型 Redis键值操作与命令 Redis字符串与列表数据结构 Redis哈希与集合数据结构

    Redis哈希与集合数据结构 Redis排序集合与使用场景 Redis持久化策略与RDB Redis持久化策略与AOF Redis主从复制与集群配置 Redis事务与Lua脚本 Redis性能优化与监控 Redis内存管理与优化 Redis高可用与故障转移 Redis...

    redis数据结构基础知识及案列(每个数据结构一个案例).zip

    在Redis中,数据结构不仅仅是简单的字符串、整数或哈希,还包括了集合、有序集合、链表、位图等多种类型。这些数据结构的高效实现是Redis能够处理大量并发请求的关键。下面将详细阐述Redis中的主要数据结构及其应用...

    数据结构Redis中数据类型对应的数据结构.pdf

    在Redis中,键的数据类型始终是字符串,而值的数据类型包括字符串、列表、字典、集合和有序集合。 1. 字符串(String):这是最基础的数据类型,对应数据结构是简单的字符串。在Redis中,字符串可以用来存储各种...

    Redis开发-redis数据结构基础知识及案列(每个数据结构一个案例).zip

    Redis开发-redis数据结构基础知识及案列(每个数据结构一个案例) redis数据结构基础知识及案列(每个数据结构一个案列) 案例清单 String案例:使用String字符串保存用户对象 List 案例:使用list保存爬虫待爬取...

    01-Redis核心数据结构实战与高性能原理剖析-ev.rar

    01-Redis核心数据结构实战与高性能原理剖析_ev.rar01-Redis核心数据结构实战与高性能原理剖析_ev.rar01-Redis核心数据结构实战与高性能原理剖析_ev.rar01-Redis核心数据结构实战与高性能原理剖析_ev.rar01-Redis核心...

    redis数据结构.pdf

    Redis 数据结构详解 Redis 不仅仅是一个简单的键值数据库,它是一个强大的数据结构服务器,提供了多种类型的数据结构,使得数据处理更为灵活。以下是 Redis 支持的主要数据结构: 1. **二进制安全字符串**:Redis ...

    十五分钟介绍-Redis数据结构.pdf

    以下是对Redis数据结构的详细介绍: 1. 字符串(String) 字符串是最基础的数据类型,可以存储任意二进制数据,最长可达1GB。你可以通过`SET`命令设置键值,`GET`命令获取键值。此外,Redis还提供了原子递增`INCR`、...

    Redis基础数据结构.pptx

    详细分析redis设计及实现原理 详细分析redis设计及实现原理

    Redis启动,数据结构存储系统

    其数据结构丰富,支持字符串、哈希、列表、集合和有序集合等多种类型,使得Redis在处理各种复杂数据操作时表现出色。 1. **Redis的启动过程** Redis的启动主要包括以下步骤: - 首先,检查配置文件(默认为`redis...

    redis面试题之数据结构.zip

    在面试中,Redis的数据结构是考察候选人技术深度的重要部分。以下将详细介绍Redis中的主要数据结构及其应用。 1. 字符串(String) Redis中的字符串是最基本的数据类型,可以存储任何可打印的字符序列,包括整数和...

    redis存储List集合

    标题中的“redis存储List集合”指的是使用Redis数据库来存储列表数据结构。Redis是一个开源的、高性能的键值存储系统,支持多种数据结构,包括字符串、哈希、列表、集合、有序集合等。在这个示例中,重点是利用Redis...

    05-Redis 核心数据结构 & Redis 6 新特性详解-郭嘉.zip

    在本资料"05-Redis 核心数据结构 & Redis 6 新特性详解-郭嘉.zip"中,我们将深入探讨Redis的核心数据结构以及最新的Redis 6版本的新特性。 一、Redis核心数据结构 1. 字符串(String):Redis最基础的数据类型,可...

    Redis核心数据结构与高性能原理.zip

    Redis中的主要数据结构包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)。这些数据结构在内存中被优化实现,为开发人员提供了灵活且高效的存储和检索方案。 1. 字符串...

Global site tag (gtag.js) - Google Analytics