
Redis
文章平均质量分 79
微信搜索:万猫学社,关注后回复「ebook」得12本必读技术书籍。
万猫学社
系统架构设计师,优快云博客专家,华为云‧云享专家,阿里云专家博主,51CTO博客TOP红人。
展开
-
面试官:Redis中有序集合的内部实现方式是什么?
面试官:Redis中基本的数据类型有哪些?我:Redis的基本数据类型有:字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(zset)。面试官:有序集合的内部实现方式是什么?我还沉浸在上一个问题的沾沾自喜中,顿时表情凝固了,手心开始冒出冷汗。“这个。。没有太深入了解”,我支支吾吾的说到。面试官:回去等消息吧。这句话说的干净利落,然后就没有然后了。失败是成功的妈妈,我不气馁,决定马上恶补一下。有序集合的内部实现有序集合的内部实现有两种,分别是:压缩.原创 2022-03-10 10:13:06 · 2066 阅读 · 0 评论 -
5分钟了解Redis的内部实现跳跃表(skiplist)
跳跃表简介跳跃表(skiplist)是一个有序的数据结构,它通过在每个节点维护不同层次指向后续节点的指针,以达到快速访问指定节点的目的。跳跃表在查找指定节点时,平均时间复杂度为,最坏时间复杂度为O(N)。Redis使用跳跃表(skiplist)作为有序集合(zset)的底层实现之一。当有序集合的元素个数大于等于zset-max-ziplist-entries(默认为128个),或者每个元素成员的长度大于等于zset-max-ziplist-value(默认为64字节)的时候,使用跳跃表和哈希表作为有序集原创 2022-03-23 12:58:49 · 3308 阅读 · 0 评论 -
面试官:Redis中集合数据类型的内部实现方式是什么?
虽然已经是阳春三月,但骑着共享单车骑了这么远,还有有点冷的。我搓了搓的被冻的麻木的手,对着前台的小姐姐说:“您好,我是来面试的。”小姐姐问:“您好,您叫什么名字?”我回答:“我叫万猫学社。”小姐姐笑出了声,说到:“这名字好怪,谁给你起的啊。”我面无表情地回答:“俺爹。”小姐姐收起了笑容,说到:“跟我来吧。”我被带到了面试间等候,片刻后一个着干净满脸清秀的青年走了进来,一股男士香水的淡香扑面而来。面试官:Redis中基本的数据类型有哪些?我:Redis的基本数据类型有:字符串(string)、哈希(h原创 2022-03-09 10:15:50 · 1154 阅读 · 0 评论 -
快速整明白Redis中的压缩列表到底是个啥
压缩列表简介压缩列表(ziplist)是由一个连续内存组成的顺序型数据结构。一个压缩列表可以包含任意多个节点,每个节点上可以保存一个字节数组或整数值。它是Redis为了节省内存空间而开发的。压缩列表(ziplist)是哈希(hash)和有序集合(zset)的内部编码之一。当哈希(hash)中的元素个数比较少并且每个元素的值占用空间比较小的时候,Redis就会使用压缩列表做为哈希的内部编码。当有序集合(zset)中的元素个数比较少并且每个元素的值占用空间比较小的时候,Redis也会使用压缩列表做为有序集合原创 2022-03-05 23:11:35 · 1751 阅读 · 9 评论 -
5分钟了解Redis的内部实现快速列表(quicklist)
在Redis3 .2版本之前,存储列表(list)数据结构使用的是压缩列表(ziplist)和链表(linkedlist),当列表元素个数比较少并且每个元素占用空间比较小的时候,使用压缩列表。当列表元素个数比较多或者某个元素占用空间比较大的时候,使用链表。考虑到链表的附加空间相对太高,结点的内存也是单独分配的,影响内存管理效率。在Redis3 .2版本开始对列表数据结构进行了改造,使用快速列表(quicklist)代替了压缩列表(ziplist)和链表(linkedlist)。快速列表(q原创 2022-03-22 12:00:19 · 2587 阅读 · 0 评论 -
面试官:Redis中哈希数据类型的内部实现方式是什么?
面试官:Redis中基本的数据类型有哪些?我:Redis的基本数据类型有:字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(zset)。面试官:哈希数据类型的内部实现方式是什么?我还沉浸在上一个问题的沾沾自喜中,顿时表情凝固了,手心开始冒出冷汗。“这个。。没有太深入了解”,我支支吾吾的说到。面试官:回去等消息吧。这句话说的干净利落,然后就没有然后了。失败是成功的妈妈,我不气馁,决定马上恶补一下。哈希的编码哈希的编码有两种,分别是压缩列表(zipl.原创 2022-03-08 11:36:10 · 1320 阅读 · 0 评论 -
快速整明白Redis中的整数集合到底是个啥
整数集合简介整数集合(intset)是Redis集合数据类型的内部编码之一,当集合数据类型中的元素都是整数并且元素数量较少的时候,Redis就使用整数集合作为内部编码。整数集合(intset)中可以保存int16_t、int32_t和int64_t类型的整数,而且保证整数集合中元素不会重复。整数集合的结构整数集合(intset)的结构中包含三个属性:编码方式(encoding)、元素数量(length)和元素数组(contents)。编码方式(encoding)表示当前整数集合的编码方式,可以设原创 2022-03-14 11:20:59 · 1514 阅读 · 1 评论 -
面试官:Redis中列表的内部实现方式是什么?
在面试间里等候时,感觉这可真暖和呀,我那冰冷的出租屋还得盖两层被子才能睡着。正要把外套脱下来,我突然听到了门外的脚步声,随即门被打开,一位眉毛弯弯嘴唇红红的小姐姐走了进来,甜甜的香水味立刻钻进了我的鼻孔。面试官小姐姐微笑地说:”您好,我是今天的面试官,那么我们就开始吧!“我收起直勾勾的眼睛连忙说:“好的,好的。”面试官小姐姐说:“Redis中基本的数据类型有哪些?”我立刻回答:“Redis的基本数据类型有:字符串(string)、列表(list)、哈希(hash)、集合(set)、有序集合(原创 2022-03-07 10:15:54 · 957 阅读 · 0 评论 -
快速整明白Redis中的字典到底是个啥
字典是一种用于保存键值对的数据结构,可以通过键值对中的键快速地查找到对应的值。在Redis所使用的C语言中,并没有内置字典,所以Redis自己实现了字典。整个Redis数据库的所有的键和值就组成了一个全局的字典,对数据库的增删改查操作都是构建在字典的操作之上的。字典还是Redis的基本数据类型哈希(hash)的底层实现之一,当哈希数据类型的键和值的长度较大或者键值对数量较多的时候,Redis就会把字典作为哈希数据类型的底层实现。字典还是Redis的基本数据类型有序集合(zset)的底层实现之原创 2022-03-17 10:22:21 · 1677 阅读 · 0 评论 -
三分钟快速搭建分布式高可用的Redis集群
Redis Cluster是Redis在3.0版本正式推出的专用集群方案,有效地解决了Redis分布式方面的需求,让我们一起快速搭建出分布式高可用的Redis集群吧!原创 2020-04-13 09:48:39 · 17367 阅读 · 122 评论 -
一篇文章彻底理解Redis持久化:RDB和AOF
理解和掌握Redis的持久机制,对于Redis的日常开发和运维都有很大帮助,也是在大厂面试经常被问到的知识点。原创 2020-04-07 10:53:09 · 67415 阅读 · 232 评论 -
最通俗易懂的Redis发布订阅及代码实战
除了使用List实现简单的消息队列功能以外,Redis还提供了发布订阅的消息机制。在这种机制下,消息发布者向指定频道(channel)发布消息,消息订阅者可以收到指定频道的消息。原创 2020-03-30 10:30:14 · 17898 阅读 · 105 评论 -
春眠不觉晓,Redis数据类型知多少?String,List,Set,SortedSet,Hash,Bitmap,HyperLogLogs
Redis提供更加丰富的数据结构,如:字符串、列表、集合、有序集合、哈希、位图、HyperLogLogs,你都真正了解嘛?原创 2020-01-04 10:10:33 · 16881 阅读 · 26 评论 -
详细解析Redis中的布隆过滤器及其应用
布隆过滤器(Bloom Filter)是由Howard Bloom在1970年提出的一种比较巧妙的概率型数据结构,它可以告诉你某种东西一定不存在或者可能存在。它可以更高效地插入和查询,并且占用空间更少。原创 2020-01-05 18:16:43 · 22765 阅读 · 23 评论 -
一分钟快速搞懂Redis的慢查询分析
当Redis客户端出现请求超时的时候,需要检查该时间点是否有慢查询,从而分析出由于慢查询导致的命令级联阻塞。原创 2020-03-24 10:39:55 · 18570 阅读 · 121 评论