redis设计与实现
文章平均质量分 91
shuihuo叶
这个作者很懒,什么都没留下…
展开
-
redis设计与实现读书笔记(一)
redis设计与实现读书笔记(前言)几个项目中用到了redis的一些特性,趁这个机会阅读下redis的底层实现。顺便做些读书笔记。自己在之前项目主要使用的是redis的队列功能,还有熟悉了一下phpredis的api。感觉只是把redis当成一个加强版的memcache来使用。每个api的实现,每种数据类型的内部处理都不清楚,于是决定好好读下redis的设计和实现。所有博客内容均是摘自...原创 2018-03-25 00:22:10 · 507 阅读 · 0 评论 -
redis设计与实现读书笔记二(SDS)
redis字符串实现redis字符串并没有使用以空字符为结尾的字符数组来构建,而是实现了一套自身的字符串模式,也叫简单动态字符串(SDS,simple dynamic string). SDS在sds.h/sdshdr中如下表示 struct sdshdr{ int len;//buf数组中已使用字节数量,即sds所保存的字符串长度 int free;//buf数组中...原创 2018-03-25 23:18:28 · 294 阅读 · 0 评论 -
redis设计与实现读书笔记三(链表)
redis链表链表提供了高效的数据排重能力,能够灵活的增减节点改变链表的长度,能够顺序性的访问节点。 Redis使用c语言并没有实现链表,所以Redis构建了自己的链表结构; 链表在redis中使用的范围非常广泛,也是list使用的底层实现之一,如果列表元素个数比较多 或者元素长度比较长时,redis就会使用链表存储。除此之外,发布与订阅,慢查询,监视器也用到了redis链表,服务器会使用...原创 2018-04-03 20:35:32 · 226 阅读 · 0 评论 -
redis设计与实现读书笔记四(字典)
字典定义字典又称符号表、关联数组或者映射,是一种保存键值对的抽象数据结构。一个key可以和一个值进行关联。每一个键都是独一无二的,程序可以通过键来操作值。 Redis的数据库就是使用字典作为底层实现,对数据库的增删改查都是建立在对字典的操作之上。Redis构建了自己的字典实现。 Redis使用哈希表作为底层实现,一个哈希表里面可以有多个哈希表节点,每个哈希表节点就保存了字典中的一个键值对。...原创 2018-04-06 00:14:45 · 247 阅读 · 0 评论