阅读redis源代码的一些体会
最近在学习redis及阅读redis等程序的源码时,有一些收获,特记录到下面。
1.第一步,阅读源代码借助最好可以跟踪的工具去读,如sourceinsight。
我使用的是windows7环境,又因为是c程序,故使用sourceinsight,当然还有其他的方式,比如阅读java代码可以导入到eclipse。
2. 第二步,搭建可以启动该源程序的环境,并能启动成功。
根据最简单的配置,使用源码编译的方式,启动该程序。逐渐参考用户使用手册,修改配置文件进行测试,进而熟悉redis的使用。
3.第三步,阅读代码前先理清楚源码的数据结构、基本概念、算法。
数据结构诸如字典、双向链表的实现;
概念诸如aof、rdb、主从复制等
4. 第四步,使用debug模式启动程序,跑完整个流程。
使用redis的debug模式,了解运行的流程,理清思路。
5. 第五步,使用单元测试对数据结构、算法、流程进行单元测试。
使用cunit先进行数据结构的单元测试,再进行算法,然后是流程的测试。
最后考虑根据模块进行测试。
转载于:https://www.cnblogs.com/davidwang456/p/3552409.html
阅读redis源代码的一些体会相关推荐
- 如何高效的阅读Hadoop源代码?Hadoop的源代码写的怎么样?
个人谈谈阅读hadoop源代码的经验. 首先,不得不说,hadoop发展到现在这个阶段,代码已经变得非常庞大臃肿,如果你直接阅读最新版本的源代码,难度比较大,需要足够的耐心和时间,所以,如果你觉得认真 ...
- linux源代码是用,阅读Linux源代码-使用lxr和glimpse
折腾了两个多小时,好不容易才搭起来 以前也用,记得配置很容易做啊 1.glimpse-4.17.2-linux-i386.tar.gz 有新的,但装上不好用. 直接解压到/usr/local/bin下 ...
- k8s源码分析 pdf_我是怎么阅读kubernetes源代码的?
为什么要阅读代码?怎么阅读k8s源代码?源代码中包含了所有信息.写开源软件,从文档和其他地方拿到的是二手的信息,代码就是最直接的一手信息.代码就是黑客帝国中neo看到的世界本源. 文本并不是代码本身. ...
- 如何阅读linux软件程序代码,如何阅读linux源代码
如何阅读linux源代码 随着linux的逐步普及,现在有不少人对于Linux的安装已经比较熟悉了.与Linux的蓬勃发展相适应,想深入了解Linux的也越来越多.而要想深入了解Linux,就需要阅读 ...
- 如何阅读c++源代码
转载自:https://www.cnblogs.com/markalex/p/3289696.html 如何阅读C++源代码 (这是我在阅读C++源代码时总结的一些体会,以后还要把新的体会再补充进来, ...
- 利用VSCode阅读OpenFOAM源代码及其调试Debug【终极总结篇】
利用VSCode阅读OpenFOAM源代码及其调试Debug[终极总结篇] 1. 本文总结了Win10系统中利用VSCode连接wsl或远程服务器,阅读OF源代码及其调试Debug的方法(不仅适用于W ...
- 阅读 redis 源码,学习缓存淘汰算法 W-TinyLFU
所有 IT 从业者都接触过缓存,一定了解基本工作原理,业界流行一句话: 缓存就是万金油,哪里有问题哪里抹一下 .那他的本质是什么呢? 上图代表从 cpu 到底层硬盘不同层次,不同模块的运行速度,上层多 ...
- redis源代码分析 – event library - Dicky - 开源中国社区
redis源代码分析 – event library - Dicky - 开源中国社区 redis源代码分析 – event library
- Redis源代码分析(十一年)--- memtest内存测试
今天,我们继续redis源代码test下测试在封装中的其它文件.今天读数memtest档,翻译了,那是,memory test 存储器测试工具..可是里面的提及了非常多东西,也给我涨了非常多见识,网上 ...
最新文章
- 基本lnmp平台的搭建(源码编译)
- 一篇文学会商用可编辑问卷表单制作【iVX 十二】
- 【小技巧】字符char与整型int的相互转换
- Arrays工具类常见方法
- 日结问题解决思路和方式
- Redmi K40S难产:缺芯是根本原因 明年或有望缓解
- vue-cli3使用vue-router 使用动态路由,在刷新页面时报错
- 记一次失败的电话面试
- 6.Swoole WebSocket
- 【AE】缺少Color属性或方法解决办法
- CCNA上机实验_19-PPP
- LayaAir引擎78款3D射击主题微信小游戏分享,看看玩过几款!
- python邮箱密码_python 模拟登陆163邮箱
- Pocket PC如何与PC机联网
- 融合VOI与VDI、IDV、RDS,实现弹性的应用
- 读取Excel 数据并写入到Word示例
- 访问网站,http、https协议抓包,完整分析
- JAVA学习日记每天进步一点点之集合类
- 小米10开始抓取日志怎么关闭_「教程」快来查查你的小米10是三星屏还是华星光电屏...
- win10计算机删除用户密码,win10怎么取消电脑开机密码
热门文章
- 计算机应用能力测试攻略,计算机应用能力测试题(一).doc
- php mysql 简单聊天室_聊天室phpmysql(一)
- inrange函数 python_为什么OpenCV的inRange函数不将我的HSV图像转换成二进制?
- python正确的输入语句_手把手教你在python中如何使用while True语句
- 计算机教师队伍掌握的素质,多措并举,努力打造高素质计算机教师x队伍.doc
- 图片上传组件_博客必备功能,拖拽上传图片!
- html打开新窗口设置窗口属性,HTML之:让网页中的a标签属性统一设置-如‘新窗口打开’...
- kvm linux重置密码,kvm虚拟机操作相关命令及虚拟机和镜像密码修改
- 原字体_时隔25天,再次更新字体,ios1213
- Python中if __name__ == ‘__main__‘:的作用和原理(自用笔记)