加载中
阅读源码的心得

为什么阅读源码 其实阅读框架或者程序的源代码,对编码能力的影响并不大,更多的是熟悉该框架或者对这类型的程序如何实现的会有一个理解。所以我觉得阅读某个框架的源码和结构,有下面的优点...

Redis源码阅读笔记-命令的接收和执行过程(二)

接着上一篇Redis源码阅读笔记-命令的接收和执行过程(一),主要写processCommand()的调用过程,和call()是如何调用各个命令的执行函数的。 processCommand() processCommand()主要作用是判断命...

01/08 17:19
14
Redis源码阅读笔记-命令的接收和执行过程(一)

Redis会为监听端口的Server Socket的fd在事件循环中注册读就绪事件,并添加相应的handler进行处理。 void initServer(void) { ...... // 为监听的端口的fd设置epoll事件和回调, 针对TCP soc...

2018/12/20 16:42
14
Redis源码阅读笔记-事件和事件循环

Redis源码阅读笔记-事件和事件循环 Reids 是采用单线程和IO多路复用是处理来之客户端的请求的,其中主要用到了evport,epoll,kqueue,select四种多路复用(按优先顺序)。 其中evport应该是...

2018/12/18 11:45
47
FUSE协议解析

由于以前有项目是用到FUSE,将S3等对象存储映射为文件存储的,但我不是负责那一块,所以一直只是知道FUSE是个什么东西,而没有用过。刚好趁着没工作的这段时间,学习Golang,顺便把FUSE也了解...

Redis源码阅读笔记-服务器启动和初始化

服务器的启动 Redis服务器的main函数是在server.c中。 // server.c int main(int argc, char **argv) { struct timeval tv; int j; /* 对服务器一些常量等进行设置 */ /* We need to init...

2018/11/07 00:36
26
Kubernetes搭建Zookeeper和Kafka集群

主要参考了https://www.cnblogs.com/00986014w/p/9561901.html 这篇博文,但他zookeeper使用的不是官方镜像 我使用的是3个节点的Zookeeper集群,可以参照着修改。 搭建Zookeeper集群 集群Ser...

用Kubeadm安装K8s后,kube-flannel-ds一直CrashLoopBackOff

如果使用Kubeadm安装K8s集群,在安装flannel网络插件后,发现pod: kube-flannel-ds 一直是CrashLoopBackOff 而且使用命令sudo kubectl --namespace kube-system logs kube-flannel-ds-amd64...

2018/10/31 16:04
446
Flask部分源码阅读

Flask主要依赖于Werkzeug和Jinja这两个库,是很简洁的Python Web框架。 Werkzeug 是一个WSGI的工具包,是Flask的核心库。 Jinja 则是一个模板渲染的库,主要负责渲染返回给客户端的html文件。...

2018/09/25 17:21
33
Redis源码阅读笔记-对象及其类型和编码

总结之《Redis设计与实现》 对象 Redis中是使用对象来便是数据库中的键和值。 结构 // server.h ... #define LRU_BITS 24 ... typedef struct redisObject { unsigned type:4; unsigned enc...

2018/09/22 11:23
16
Redis源码阅读笔记-快速列表

快速列表 快速列表(quicklist)是由压缩列表(ziplist)组成的一个双向链表,链表中,每一个节点都是以压缩列表(ziplist)的结构保存。 在 Redis3.2 后加入的新数据结构,在列表键中取代了双向链...

2018/09/20 21:32
13
Redis源码阅读笔记-压缩列表结构

压缩列表 《Redis设计与实现》 在Redis中,压缩列表(ziplist)是由一段有特定编码的内存块构成的列表,目的是为了节约内存。 压缩列表被用作列表键和哈希键的底层实现之一。 当一个列表键只包...

2018/09/16 16:08
7
Redis源码阅读笔记-整数集合结构

整数集合 《Redis设计与实现》 整数集合(intset)是Redis中集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素不多时,Redis就会使用整数集合作为集合键的底层实现。 在R...

2018/09/14 15:26
13
Redis源码阅读笔记-跳跃表结构

跳跃表 跳跃表 是一种有序的数据结构,通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。它是基于有序链表,在链表的基础上,每个节点不止包含一个指针,还可能包含...

2018/09/13 15:45
9
Redis源码阅读笔记-字典结构

字典 字典在Redis中主要用在数据库和哈希键功能上,其他也有。 当一个哈希键包含的键值对比较多,又或者键值对中的元素都是比较长的字符串时,Redis就会使用字典作为哈希键的底层实现。(《R...

2018/09/09 11:42
15
Redis源码阅读笔记-链表结构

链表 Redis中是自己实现的链表。链表被广泛用于Redis的各种功能,比如列表键、发布于订阅、慢查询、监视器等。 列表键的底层实现之一就是链表(Redis3.2 之前,在Redis3.2 后被换成了快速列表...

2018/09/06 13:22
11
Redis源码阅读笔记-动态字符串(SDS)结构

Redis中采用自定义的结构来保存字符串,在sds.h中: /* Note: sdshdr5 is never used, we just access the flags byte directly. However is here to document the layout of type 5 SDS str...

2018/09/05 22:44
9
Ngrok内网穿透原理

Ngrok穿透原理 流程图 Client与Server建立一个scoket连接,然后发送一个Auth请求,Server验证后,返回AuthResp 接着Client发送ReqTunnel像服务器注册通道,比如,HTTP,HTTPS,TCP,其中包含...

2018/03/12 11:10
560
# Python asyncio 文档的翻译(待续)

Python asyncio asyncio中简单概念 event_loop 事件循环:程序开启一个无限的循环,程序员会把一些函数注册到事件循环上。当满足事件发生的时候,调用相应的协程函数。 coroutine 协程:协程...

2018/03/01 22:50
34
Flask的请求上下文管理

一直想看一下Flask是怎么做请求上下文管理的,直接使用 from flask import request 就是当前的请求了。 简单看一个各个模块的代码: # flask/__init__.py ...... from .global import curr...

2018/02/22 15:42
41

没有更多内容

加载失败,请刷新页面

返回顶部
顶部