博客专栏  >  架构   >  Redis源码分析

Redis源码分析

对Redis的源码从结构体开始到主从复制各个原理性的模型进行分析

关注
110 已关注
36篇博文
  • Redis源码分析(三十六)--- Redis中的11大优秀设计

    坚持了一个月左右的时间,从最开始的对Redis的代码做分类,从struct结构体分析开始,到最后分析main主程序结束,中间,各大模块的代码逐个击破,学习,总之,收获了非常多,好久没有这么久的耐心把一...

    2014-11-08 10:16
    12902
  • Redis源码分析(三十五)--- redis.c服务端的实现分析(2)

    在Redis服务端的代码量真的是比较大,如果一个一个API的学习怎么实现,无疑是一种效率很低的做法,所以我今天对服务端的实现代码的学习,重在他的执行流程上,而对于他的模块设计在上一篇中我已经分析过了,...

    2014-11-08 09:45
    5312
  • Redis源码分析(三十四)--- redis.h服务端的实现分析(1)

    上次刚刚分析过了客户端的结构体分析,思路比较简答,清晰,最后学习的是服务端的实现,服务端在Redis可是重中之重,里面基本上囊括了之前模块中涉及到的所有知识点,从redis的头文件就可以看出了,red...

    2014-11-07 15:43
    3192
  • Redis源码分析(三十三)--- redis-cli.c客户端命令行接口的实现(2)

    今天学习完了命令行客户端的后续内容,整体感觉就是围绕着2个东西转,config和mode。为什么我会这么说呢,请继续往下看,客户端中的配置结构体和之前我们所学习的配置结构体,不是指的同一个概念,cli...

    2014-11-07 10:20
    3284
  • Redis源码分析(三十二)--- redis-cli.c客户端命令行接口的实现(1)

    分析了将近1个月的Redis源代码了,也到了最核心的,最贴近系统开始的地方了,我把他取名为main目录,里面就包括了2个重要的文件,redis-cli和redis文件,1个代表的是客户端的执行文件,1...

    2014-11-06 10:48
    3904
  • Redis源码分析(三十一)--- latency延迟分析处理

    每当提到延时统计的时候,一定想到的一个名词就是”性能测试“,没错,在Redis的redis_benchmark文件中,的确用到了延迟文件中的相关信息。在Redis中的官方解释此文件: /* The ...

    2014-11-05 10:09
    3177
  • Redis源码分析(三十)--- pubsub发布订阅模式

    今天学习了Redis中比较高大上的名词,“发布订阅模式”,发布订阅模式这个词在我最开始接触听说的时候是在JMS(Java Message Service)java消息服务中听说的。这个名次用通俗的一点...

    2014-11-04 09:50
    2762
  • Redis源码分析(二十九)--- bio后台I/O服务的实现

    在Redis系统中也存在后台服务的概念,background Service,后台线程在Redis中的表现主要为background I/O Service,有了后台线程的支持,系统在执行的效率上也势...

    2014-11-03 10:31
    2660
  • Redis源码分析(二十八)--- object创建和释放redisObject对象

    今天的学习效率比较高,把Rio分析完了,又顺便学习了其中的RedisObject的文件,只要讲的就是RedisObject的一些转换和创建。里面的大多数方法都是非常类似的。列出里面长长的API列表: ...

    2014-11-02 21:48
    2777
  • Redis源码分析(二十七)--- rio系统I/O的封装

    I/O操作对于每个系统来说都是必不可少的一部分。而且I/O操作的好坏,在一定程度上也会影响着系统的效率问题。今天我学习了一下在Redis中的I/O是怎么处理的,同样的,Redis在他自己的系统中,也封...

    2014-11-02 09:15
    3191
  • Redis源码分析(二十六)--- slowLog和hyperloglog

    今天学习的是是2个log的文件,2个文件的实现功能都超出我原本理解的意思。开始时我以为就是记录不同的类型的日志,后来才慢慢的明白了额,slowLog记录的是超时的查询记录,而hyperloglog其实...

    2014-11-01 19:49
    6570
  • Redis源码分析(二十五)--- zmalloc内存分配实现

    时间过的很快,经过快1个月的时间学习,本人对Redis源代码的分析已经超过了一半,上几次的学习,我主要的是对于Redis工具类的代码进行了学习。后面的几天我将会学习Redis代码中的一些封装类的实现,...

    2014-10-31 19:10
    3816
  • Redis源码分析(二十四)--- tool工具类(2)

    在上篇文章中初步的分析了一下,Redis工具类文件中的一些用法,包括2个随机算法和循环冗余校验算法,今天,继续学习Redis中的其他的一些辅助工具类的用法。包括里面的大小端转换算法,sha算法在Red...

    2014-10-31 09:49
    4614
  • Redis源码分析(二十三)--- CRC循环冗余算法和RAND随机数算法

    今天开始研究Redis源码中的一些工具类的代码实现,工具类在任何语言中,实现的算法原理应该都是一样的,所以可以借此机会学习一下一些比较经典的算法。比如说我今天看的Crc循环冗余校验算法和rand随机数...

    2014-10-29 10:12
    3588
  • Redis源码分析(二十二)--- networking网络协议传输

    上次我只分析了Redis网络部分的代码一部分,今天我把networking的代码实现部分也学习了一遍,netWorking的代码更多偏重的是Client客户端的操作。里面addReply()系列的方法...

    2014-10-28 16:05
    3345
  • Redis源码分析(二十一)--- anet网络通信的封装

    昨天非常轻松的分析完Redis的事件驱动模型之后,今天我来看看anet的代码,anet是Redis对于Client/Server的网络操作的一个小小封装。代码中对此文件的官方解释为: /* anet...

    2014-10-27 10:01
    3506
  • Redis源码分析(二十)--- ae事件驱动

    事件驱动这个名词出现的越来越频繁了,听起来非常高大上,今天本人把Redis内部的驱动模型研究了一番,感觉收获颇丰啊。一个ae.c主程序,加上4个事件类型的文件,让你彻底弄清楚,Redis是如何处理这些...

    2014-10-26 10:16
    4326
  • Redis源码分析(十九)--- replication主从数据复制的实现

    replication的英文单词的原意是“复制”的意思,replication文件作为我在Data目录下的分析的最后一个文件,足以说明他的重要性,代码量1800+,的确非常难啃。只能说个我看代码下来的...

    2014-10-25 19:26
    2646
  • Redis源码分析(十八)--- db.c内存数据库操作

    我们知道Redis数据库作为一个内存数据库,与memcached比较类似,基本的操作都是存储在内存缓冲区中,等到缓冲区中数据满后,在持久化到磁盘中。今天,我主要研究了对于redis中对于内存数据库的操...

    2014-10-24 20:23
    2593
  • Redis源码分析(十七)--- multi事务操作

    redis作为一非关系型数据库,竟然同样拥有与RDBMS的事务操作,不免让我觉得比较惊讶。在redis就专门有文件就是执行事务的相关操作的。也可以让我们领略一下,在Redis的代码中是如何实现事务操作...

    2014-10-23 10:08
    2982
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部