Redis
tyltr
Hello!world. I am ltr
展开
-
Redis设计与实现笔记(三) | 字典
字典(键值对、KV、映射都是一回事)在redis中有广泛应用:redis是Key-Value数据库,就是使用字典作为底层实现的,对数据库的增删改查都基于字典实现的。除此之外,redis的哈希键底层使用字典实现,一个哈希表中包含多个哈希节点,每个哈希节点就是一个kv结构,即字典。由于redis的数据库的kv结构太复杂了,暂且从哈希表说起3.1 哈希表哈希表所使用的字典定义在dict.h/...原创 2018-10-18 12:28:53 · 176 阅读 · 0 评论 -
Redis设计与实现笔记(一) | 字符串
目录1.1 与C字符串的区别1.2 SDS是什么鬼?1.3 内存分配的优化策略1.4 总结本书侧重于讲解redis的实现,对实践案例等讲解不多。Redis是开源的数据库,源代码 https://github.com/antirez/redis 官网 https://redis.io/ 有需要的小伙伴,可以去看看。总所周知,redis所支持的基本数据类型有五种:字符串、列...原创 2018-10-10 11:27:13 · 337 阅读 · 0 评论 -
Redis设计与实现笔记(二) | 链表结构
没错,本篇我们要说一说链表在Redis中的应用。本打算写Redis中的列表,但想来想去觉得列表仅仅是Redis链表的一部分,并不能完全说明链表这一数据结构在Redis中的应用。那就说说数据结构链表吧。小伙伴们,开始啦!注:链表作为列表的底层实现是有条件的。当列表元素数量较多,或者是元素都是特别长的字符串时,才会使用链表作为列表的底层实现;当元素数量特别少,并且元素是特别短的字符串或者是特别小的...原创 2018-10-10 18:53:40 · 160 阅读 · 0 评论 -
Redis设计与实现笔记 |目录
第一部分:数据结构与对象Redis设计与实现笔记(一) | 字符串Redis设计与实现笔记(二) | 链表结构Redis设计与实现笔记(三) | 字典第二部分:单机数据库的实现Redis设计与实现笔记(九) | 持久化 第三部分:多机数据库的实现Redis设计与实现笔记(十五) | 复制 第四部分:独立功能的实现 本系列博文是本人学习《Redis设计...原创 2018-11-01 00:04:35 · 656 阅读 · 0 评论 -
Redis设计与实现笔记(十五) | 复制
前面主要是在数据结构和单机服务器角度分析redis的底层实现。本篇讲解的是多服务器上的redis怎么实现数据复制的。在redis中只支持主从复制。复制是一个在数据库领域的基本的机制,每个数据库都有自己不同的实现方式。无论是RDB 还是NoSQL,会有复制这个概念。如MySQL中的复制,mongodb中的副本集等等。只要说到复制,就免不了谈俩个概念:数据一致性 和 读写分离,这两个概念也会在此博...原创 2018-11-01 00:27:26 · 253 阅读 · 0 评论 -
Redis设计与实现笔记(九) | 持久化
redis是基于内存的数据库。总所周知,内存是RAM,数据断电即丢失。对于数据库来说,这种特性导致了数据持久性就无法保证。redis的持久化的机制解决这种问题,就是把数据库的数据保存到硬盘中,进行存储,避免数据丢失。redis有两种持久化的方式:RDB和 AOF一、RDBRDB是redis默认的持久化方式。将当前数据库的状态,以快照的形式保存在硬盘上。但如果开启了AOF的话,redis...原创 2018-11-04 11:58:57 · 208 阅读 · 0 评论