[每日一题]:Redis底层数据结构?

Posted MarkZoe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[每日一题]:Redis底层数据结构?相关的知识,希望对你有一定的参考价值。

参考答案如下:


福哥口诀法:简链字跳整 压快压


SDS simple synamic string:简单动态字符串。支持自动动态扩容的字节数组 。

list :链表 。双端链表。

dict :字典。使用双哈希表实现的, 支持平滑扩容的字典 。

zskiplist :跳跃表。附加了后向指针的跳跃表 。

intset :整数集合。用于存储整数数值集合的自有结构 。

ziplist :压缩列表。一种实现上类似于TLV, 但比TLV复杂的, 用于存储任意数据的有序序列的数据结构 。

quicklist:快速列表。一种以ziplist作为结点的双链表结构, 实现的非常不错 。

zipmap :压缩字典。一种用于在小规模场合使用的轻量级字典结构 。


String底层是SDS 内部编码 int,emstr,raw 。

hash是ziplist与hashtable 。

list采取的双端链表linklist,压缩列表ziplist。

set是hashtable和inset 。

zset是ziplist和skiplist。


https://stor.51cto.com/art/201910/605032.htm    Redis中8种数据结构的底层数据结构源码详解
https://www.jianshu.com/p/c111d2a87ec4    edis底层数据结构
https://www.cnblogs.com/jaycekon/p/6227442.html    深入浅出Redis-redis底层数据结构(上)
https://blog.csdn.net/abel_liujinquan/article/details/89339599    Redis六种底层数据结构
https://www.cnblogs.com/ysocean/p/9080942.html    Redis详解(四)------ redis的底层数据结构

以上是关于[每日一题]:Redis底层数据结构?的主要内容,如果未能解决你的问题,请参考以下文章

每日一题MySQL索引理解引擎及区别Redis和MySQL的区别及持久化机制(搜狗金融)

leetcode每日一题-191:位1的个数

每日一题简要介绍一下 Spark 的内存管理?

每日一题:消息队列面试常问题目

Leetcode每日一题(3)

CISP/CISA 每日一题 11