首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

redis 存储结构原理 1

关于 redis 相信大家都不陌生了,之前有从 0 -1 分享过 redis 的基本使用方式,用起来倒是都没有啥问题了,不过还是那句话,会应用之后,我们必须要究其原理,知其然知其所以然 今天我们来分享一下关于...redis 的存储结构原理 redis 的存储结构原理 我们都知道 redis 是一个 K-V 内存数据库,类似于 memcache ,那么一般存储这种 K-V 键值对的数据结构是什么呢?...hash 表 能满足 O(1) 时间复杂度的数据结构有啥呢?...我们是不是可以想到 hash 表 具体 hash 表是怎样的一种结构,前面有文章已经分享过一些,redis 基础性的数据结构可以查看历史文章:【Redis 系列】redis 学习四,set 集合,hash...解决冲突的方式: 使用链表,也就是链地址法 , 数组 + 链表的 方式 将出现冲突的元素,插入到以原有冲突元素作为链表头的链表中,使用头插法 一般是使用头插法, 这是遵循缓存淘汰算法的逻辑原理 LRU

13460

Kafka存储结构以及原理

目录 1. kafka存储结构 1.1 topic 1.2 partition 1.3 segment 1.4 message结构 1.5 查找 message过程 2 Kafka存储原理 2.1 顺序写...Kafka维护消费偏移 3.1 消费偏移的更新方式 3.1.1 自动提交(默认方式) 3.1.2 手动提交 4 日志的清除策略以及压缩策略 4.1 日志删除 4.2 日志压缩策略 1. kafka存储结构...注意: 可以利用offset在partition中查找,不能在整个topic中查找的,因为offset只保证在partition中唯一,有序 2 Kafka存储原理 2.1 顺序写 Kafka利用分段、...并且在读的时候会预读,根据局部性原理当读取的时候会把相邻的磁盘块读入页缓存中。在写入的时候会后写,写入的也是页缓存,这样存着可以将一些小的写入操作合并成大的写入,然后再刷盘。...日志的压缩原理如下图: 注意: 当启用压缩时,对批处理的影响特别明显,因为随着数据大小的增加,压缩通常会变得更有效。

1.5K30

redis 存储结构原理 2

https://redis.io/download 此处我下载的是 redis-6.2.5 版本的,xdm 可以直接下载上图中的 **redis-6.2.6 **版本, redis 中 hash 表的数据结构...redis hash 表的数据结构定义在: redis-6.2.5\src\dict.h 哈希表的结构,每一个字典都有两个实现从旧表到新表的增量重哈希 typedef struct dictht...,dictEntry 具体的数据结构是保存一个键值对 具体的 dictEntry 数据结构是这样的: size: size 属性是记录了整个 hash 表的大小,也可以理解为上述 table 数组的大小...dictht dictEntry 结构每个属性的含义 typedef struct dictEntry { void *key; union { void *val;...在 src\dict.h 文件中,咱们接着往下看,能够看到一个非常关键的结构,就是 dict ,redis 中都是使用这个结构来进行组织的 typedef struct dict { dictType

9910
领券