- 博客(4)
- 资源 (6)
- 收藏
- 关注
原创 通过gdb来调试和观察redis源码的运行
概述 本文介绍如何通过gdb来调试redis的源代码。相对于只是查看源码,通过gdb还能够在实际场景中观察代码如何运行,内存如何变化,这对于理解redis-server的运行机制非常有必要。 在进行redis-server一般命令的运行机制调试时,不需要你懂c/c++编程,只需要知道gdb的一些基本命令就可以了。 gdb介绍 通过gdb对redis-server进行调试时,需要知道一些...
2018-09-07 07:25:20 3629
原创 mac book上安装和使用gdb
概述 本文讲述如何在mac book中安装和调试gdb。由于自己在mac book上安装gdb的过程中遇到的一些问题,通过本文把这些问题总结一下,并提供解决之道。 安装 版本问题 uname -a 输出如下: 17.7.0 Darwin Kernel Version 17.7.0: Thu Jun 21 22:53:14 PDT 2018; root:xnu-4570.71....
2018-09-06 09:14:57 2307
原创 Beanstalkd架构设计优缺点分析
概述 本文从系统设计角度分析beanstalkd的优缺点,对beanstalkd的设计进行总结。 优点的总结 beanstalkd是基于内存的任务队列,性能较高。每个job有多种状态,状态之间可以相互转换。这些状态为job的使用者提供了使用的方便。 在网络事件驱动方面,使用异步,高效的epoll作为事件驱动框架,但使用的是单线程模式。 类似于数据库,beanstalkd把job保存在t...
2018-09-02 14:16:01 1855
原创 Beanstalkd源码分析—事件超时的处理
概述 在多路复用的网络编程中,比如select,epoll,poll等,往往会等待一定的时间,来允许读,写,异常的事件发生。当超时还没有事件发生时,会完成一定的处理任务。而超时处理的任务也非常重要。 本文介绍beanstalkd的超时处理部分的实现原理。 进入超时处理 在beanstalkd中,事件超时的处理在prottick函数中完成。前面的文章分析过命令处理流程,我们再来看一下事件...
2018-09-02 14:14:14 612
unix network programing
2009-03-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人