重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
文章目录提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
创新互联企业建站,十余年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于网站建设、做网站中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。
Redis基于内存、分布式、可选持久性的键值对数据库,在项目中一般作为缓存来使用,由C语言实现,代码量不算太大,了解下源码实现有利于理解Redis底层实现机制,本文尝试在Liunx环境下搭建Redis源码调试环境
tar -zxvf redis-5.0.14.tar.gz
cd redis-5.0.14
/ 命令进入Redis目录
执行make命令
make命令执行完后多出了 几个文件,redis-server redis-cli,这两个我们应该比较熟悉了
导入Redis项目
配置C语言编译环境,Centos 默认是安装了gcc的
配置redis-server
在server.c文件上打上断点 ,debug启动redis-server就能跟踪启动流程了
启动后进到main方法断点里面来了
我们先让启动流程跑完
启动成功了,看到了熟悉的打印日志
接下来我们启动客户端来执行Redis命令
server.c文件中有一个结构体数组,定义了Redis的处理命令
通过 redis-cli连接服务端 执行get命令(可以看到这里没有返回 卡住了 因为服务端有断点)
Redis项目中经常用,但只知道基本使用,对底层原理不太了解,容易在特殊场景下用错,研究下源码有助于理解Redis的执行流程,更好的在项目中应用
PS:源码还没看懂 还需继续学习~~
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧