Redis
文章平均质量分 97
Redis入门到实战教程,欢迎订阅学习。
白晨并不是很能熬夜
大家好,我是白晨。这个人想日更,但是好像不太可能,尽量不咕咕咕吧。
展开
-
【Redis】Hash介绍与应用详解
Redis Hash是一个键值对集合,类似于传统编程语言中的哈希表或字典。Redis Hash通过哈希表实现。这意味着它适合用于存储对象,比如一个用户的信息,其中每个字段(如用户名、年龄、邮箱等)都作为键值对存储在哈希表中。每个哈希表可以包含任意数量的字段,并且每个字段都有唯一的键。Redis中本来就是每一个key对应一个value,那Hash类型和String类型的差别在哪呢?在 Redis 中,虽然每个key对应一个value,但是value的类型可以有多种,其中之一就是Hash类型。原创 2024-06-05 10:39:17 · 1091 阅读 · 2 评论 -
【Redis】List源码剖析
在Redis的发展历程中,List数据类型的底层实现经历了几次重要的演变,从最初的双向链表到后来的快速列表。在Redis的早期版本(2.2及以前),List类型的数据结构采用的是双向链表(LinkedList)。这种实现方式的主要优点在于其插入和删除操作的时间复杂度为O(1),非常高效,特别适合频繁插入和删除的场景。然而,每个节点需要额外的指针存储空间,导致内存开销较大,并且对于大量数据的线性扫描性能较低。随着Redis的发展,开发团队意识到需要一种更节省内存的解决方案。因此,在。原创 2024-06-01 11:00:00 · 1049 阅读 · 2 评论 -
【Redis】ziplist与listpack源码剖析:Redis数据存储的演进与优化
ziplist是一种紧凑的字节数组数据结构,适用于存储小型列表。zlbytes:总字节数(4字节)。zltail:到列表尾节点的偏移量(4字节)。zllen:节点数量(2字节)。entry:实际存储的节点。zlend:结束标记(1字节,值为 0xFF)。每个节点包括prevlen(前一个节点的长度)、encoding(编码方式)和entry-data(实际存储内容)。原创 2024-05-30 15:02:48 · 1221 阅读 · 1 评论 -
【Redis】List介绍与应用详解
Redis List是字符串值的链表。Redis List是通过双向链表实现的。这意味着,即使列表内有数百万个元素,在列表头部或尾部添加新元素的操作也能在恒定时间内完成。使用 LPUSH 命令在有 10 个元素的列表头部添加一个新元素的速度,与在有 1000 万个元素的列表头部添加一个元素的速度相同。限制Redis List的最大长度为232−12^{32} - 1232−1 (4,294,967,295) 个元素。性能访问其头部或尾部的列表操作是 O(1),这意味着它们非常高效。原创 2024-05-23 11:00:00 · 879 阅读 · 1 评论 -
【Redis】String源码剖析:512MB大字符串的内存管理之道
Redis中,String类型底层实现的数据结构为int和SDS(简单动态字符串)。为什么不使用C原生的字符数组,而要使用SDS呢?获取字符串长度C字符串获取长度会使用strlen函数,时间复杂度为O(n),其获取字符串长度的逻辑如下图所示:而SDS直接用一个类项记录了字符串长度,获取长度的时间复杂度为O(1)。字符串溢出C字符串对于越界检查不是很完善,会出现内存踩踏的问题:而SDS会记录可用空间,在需要扩容时自动扩容。存储特殊类型数据。原创 2024-05-19 11:54:21 · 724 阅读 · 1 评论 -
【Redis】String的介绍与应用详解
String是Redis最基本的类型,一个key对应一个value。key为标识符,value为key对应的值。String是二进制安全的,意思是Redis的String可以包含任何数据,比如jpg图片或者序列化的对象。String类型是Redis最基本的数据类型,一个Redis中字符串value最多可以是512M。String是Redis中最基本的数据类型,采用key-value形式存储。它是二进制安全的,可以存储任何类型的数据,如图片或序列化的对象。原创 2024-05-17 15:12:33 · 875 阅读 · 3 评论 -
【Redis】Redis键值存储
首先要强调一点:Redis是key value类型的数据库,Redis所说的数据类型都是key value中的value的数据结构,而key都是字符串。在本文中,我们对Redis的键值存储进行了全面的概述和介绍。首先,我们了解了Redis的五大基本数据类型:String(字符串)、Hash(哈希)、List(列表)、Set(集合)和Zset(有序集合),并探讨了它们各自的特点和用法。原创 2024-05-15 11:00:00 · 1340 阅读 · 0 评论 -
【Redis】Redis入门概述
首先,我们先来了解什么是Redis。根据官网定义:Redis 是一个内存数据存储,被数百万开发人员用作缓存、向量数据库文档数据库流引擎和消息代理。Redis 具有内置复制和不同级别的磁盘持久性。它支持复杂的数据类型(例如,字符串、哈希、列表、集合、排序集和 JSON),并在这些数据类型上定义了原子操作。首先,我们可以注意到Redis是一个内存数据库,也就是说,它的数据都是直接加载到内存中的。原创 2024-05-13 11:00:00 · 959 阅读 · 0 评论