自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

转载 select过程

一、PHP_METHOD(redis_connect_pool, select) { 1.1 zend_parse_method_parameters函数,可以获得入参,object对象实例,db,要选择的库.假设db=7. 1.2 新建一个source_char[100]数组...

2017-09-16 16:06:00 158

转载 客户端connect

一、PHP_METHOD(redis_connect_pool, connect) { 1.1 读取入参,ip,port,time. 1.2 更新类redis_connect_pool的ip port属性. } ...

2017-09-16 14:40:00 248

转载 new redisProxy对象

一、PHP_METHOD(redis_connect_pool, __construct) { 1.1 新建一个实例 1.2 cpPid=getpid() } 转载于:ht...

2017-09-16 14:39:00 129

转载 php-cp启动过程分析

一、pool_server_create('/etc/pool.ini') 1.1 判断sapi_module.name是否等于'cli',如果不等于直接退出,因为本程序只能运行在命令行模式下. 1.2 将入参'/etc/pool.ini'保存在char *config_file里. 1.3 ...

2017-09-14 15:23:00 308

转载 精简php_connect_pool.h

老: #if defined(__GNUC__)#if __GNUC__ >= 3#define CPINLINE inline __attribute__((always_inline))#else#define CPINLINE inline#endif#elif de...

2017-08-01 11:06:00 104

转载 11.cluster节点通信

Redis Cluster是由多个节点组成的集群,其各节点间必然有互相通信联系 通信是通过发送消息(message)来完成的,消息的发送者叫sender,接受者叫receiver 常用的消息有以下5种: 1、MEET消息:当发送者接收到客户端发送的cluster meet命令时,发送者会...

2017-06-14 10:55:00 336

转载 10.cluster读写key

Redis cluster的思路是,当需要存储一个key时,先将key模拟发布在一个slot槽,在将key实际分布在slot关联的实际服务器上. 从头到尾看一下,跟key读写相关的源码. int main(int argc, char **argv) { . . . /* 确...

2017-06-13 14:33:00 377

转载 9.redis cluster搭建命令

1、首先做redis.conf的母版文件: mkdir /etc/redis/clustermv /etc/redis/redis.conf /etc/redis/cluster/vim /etc/redis/cluster/redis.confport 7000daemonize ...

2017-06-09 18:58:00 73

转载 8.redis编译过程

cd /opt/soft/unzip redis-3.0-annotated-unstable.zip vim redis-3.0/src/Makefile (OPTIMIZATION?=-O2中的2改为0)cd redis-3.0/make CFLAGS="-g -O0"...

2017-06-07 11:15:00 80

转载 7.GDB文档

阅读了GDB文档,将主要知识点简要的写一下: 编译时:-g -o0(-g:将调试信息加到可执行文件中 -o0:编译过程中不进行优化,默认是2) attach目标程序:gdb text.exe,设置参数:set args 10 20 30 40 50 arrach运行中程序:gdb -p...

2017-06-07 10:58:00 91

转载 6.GDB原理

引用http://www.spongeliu.com/240.html 还是面某M的时候,面试官问我:“用过gdb么?” 答:“用过,调了两年bug了”。“那好,给我解释下gdb是怎么工作的?或者说跟内核什么地方有关系?”。 是阿,gdb凭什么可以调试一个程序?凭什么能够接管一个程序的运行...

2017-06-06 14:37:00 141

转载 5.initServer()

继续看main()函数: int main(int argc, char **argv) { . . . initServer(); . . .} initServer()里做的操作很多,我只重点关注与IO复用,网络监听相关的部分,下面贴代码: void initSer...

2017-06-01 14:36:00 491

转载 4.IO复用

按顺序写我学到的知识: 同步IO/异步IO: 1.描述的是C端 2.同步IO是指,c端发出一个函数调用后,在没得到结果前,该调用就不返回,一直等待. 3.异步IO是指,c端发出一个函数调用后,不等待结果,立即返回.S端在生成结果后,会利用通知或函数等方式通知C. 阻...

2017-05-18 18:50:00 67

转载 3.守护进程

首先学习下C语言如何创建一个进程: #include 'unistd.h'pid_t fork(void);//返回值:子进程中返回0,父进程中返回子进程ID,出错返回-1 在linux中,一个进程可以通过调用fork()函数来创建一个新进程,原来的进程称为父进程,新进程称为子进程....

2017-05-17 17:03:00 89

转载 2.载入配置文件

接着上一节,继续学习main()函数,先把代码贴上: int main(int argc, char **argv) { . . . if (argc >= 2)//argc代表启动命令的个数,例如./redis-server /etc/redis/redis.con...

2017-05-15 18:59:00 520

转载 1.initServerConfig

众所周知,C语言的入口函数是main(),因此我从main函数开始学习.下面贴代码: int main(int argc, char **argv) { struct timeval tv;//C语言用来记录时间的结构体,struct timeval { __time_t tv_...

2017-05-14 17:06:00 144

转载 0.序言

看过《Redis设计与实现》《Redis源码分析》等很多前辈的著作,感觉他们看代码喜欢从尾部看到头部,以点见面。 我希望能在前辈的基础上,从头到尾把代码学习一遍。 本次分析的代码为redis-3.0 ...

2017-05-14 15:37:00 58

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除