redis
EINPROGRESS
这个作者很懒,什么都没留下…
展开
-
redis源码剖析[1]-异步事件驱动框架(上)
想要分析源码,我觉得可以把它当成一个整体,或者一个函数,有输入和对应的输出。我们从输入开始分析流程。先撇开main函数,在gdb上打印下线程的堆栈是个好想法,让我们看看它都在做什么。 可以看得到它其中一条线程阻塞在epoll_wait(我的系统是ubuntu,因此选择了epoll)。在这里检测套接字事件,等待client请求。可以看到还有3条后台io服务线程,它们分别...原创 2018-08-19 21:56:50 · 784 阅读 · 0 评论 -
redis源码剖析[1]-异步事件驱动框架(下)
上篇文章<redis源码剖析[1]-异步事件驱动框架(上) >。我们分析了redis的事件驱动模块对于事件检测的实现。现在我们看看redis如何应用这些事件检测。 我们先来看创建事件驱动模块的接口aeCreateEventLoop。它有一个参数setsize,用于指示事件注册记录与存放已触发事件的缓冲区大小,也就是可以注册多少个描述符。其主要调用底层a...原创 2018-10-29 01:19:06 · 348 阅读 · 0 评论 -
redis ADDSLOTS支持区间输入实现
背景 最近在阅读redis源码,发现redis集群应用情景时,添加slot命令ADDSLOTS只接受slot按个输入, 没有办法直接按区间分配。这样就存在一个不是很友好的问题,redis定义共有16384个slot,只有所有slot都分配有节点处理时,集群进入上线状态。相反,如果redis中存在一个slot没有分配到节点处理,集群则处于下线状态。这样要分配16384个slot确实...原创 2019-01-27 23:37:39 · 3364 阅读 · 1 评论