redis源码是什么语言


本文摘自PHP中文网,作者(*-*)浩,侵删。

redis源码是ANSI C语言,首先,你当然应该从main函数开始读起。但我们在读的时候应该抓住一条主线,也就是当我们向Redis输入一条命令的时候,代码是如何一步步执行的。 (推荐学习:Redis视频教程)

这样我们就可以先从外部观察,尝试执行一些命令,在了解了这些命令执行的外部表现之后,再钻进去看对应的源码是如何实现的。要想读懂这些代码,首先我们需要理解Redis的事件机制。

而且,一旦理解了Redis的事件循环(Event Loop)的机制,我们还会搞明白一个有趣的问题:为什么Redis是单线程执行却能同时处理多个请求?(当然严格来说Redis运行起来并非只有一个线程,但除了主线程之外,Redis的其它线程只是起辅助作用,它们是一些在后台运行做异步耗时任务的线程)

从main函数开始,沿着代码执行路径,实际上我们可以一直追下去。我们还是限定一下范围。

从main函数开始,一步步追踪下去,最终到达任一Redis命令的执行入口。或者,你也可以自己去完成剩下的探索了。

初始化流程和事件循环概述

Redis源码的main函数在源文件server.c中。main函数开始执行后的逻辑可以分为两个阶段:

各种初始化(包括事件循环的初始化);

执行事件循环。

这两个执行阶段可以用下面的流程图来表达(点击看大图)

redis-1.jpeg

以上就是redis源码是什么语言的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

深入浅析Redis中的三种特殊数据类型

Redis为什么有16个库

详细介绍消息队列的概念、原理及使用场景(附案例)

Redis集群数据怎么同步

Redis中setex命令和set命令有什么区别

Redis5.0新特性

mysql和Redis事务的比较(图文)

Redis是用什么语言写的

Redis数据过期策略详解

Redis最多缓存多少数据

更多相关阅读请进入《Redis》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...