08 2015 档案
摘要:0. 前言 Redis在封装事件的处理采用了Reactor模式,添加了定时事件的处理。Redis处理事件是单进程单线程的,而经典Reator模式对事件是串行处理的。即如果有一个事件阻塞过久的话会导致整个Redis被阻塞。 对于Reactor模式,可以查看维基百科。(这里推荐一本书:《面向模式的...
阅读全文
摘要:0. 前言 最近在处理公司遗留项目的时候发现自己对TCP协议一点都不懂,所以补了点关于TCP连接的建立和终止的内容,这里简单写下自己了解的部分,省略了报文序号确认序号这些无关的字段,主要讨论TCP状态的转换以及Linux下的一些问题。 对于这篇文章来说,主要是记录自己遇到的一些问题以及学习到的一...
阅读全文
摘要:0. 背景 公司的服务器后台部署在某一个地方,接入的是用户的APP,而该地方的网络信号较差,导致了服务器后台在运行一段时间后用户无法接入,那边的同事反馈使用netstat查看系统,存在较多的TCP连接。1. 问题分析 首先在公司内部测试服务器上部署,使用LoadRunner做压力测试,能正常运行...
阅读全文
摘要:0. 前言 Redis 中的链表是以通用链表的形式实现的,而对于链表的用途来说,主要的功能就是增删改查,所以对于查找来说,redis其提供了一个match函数指针,用户负责实现其具体的匹配操作,从而实现通用化。 涉及的文件:adlist.h/adlist.c1. 数据结构typedef stru...
阅读全文
摘要:0. 前言 这里对Redis底层字符串的实现分析,但是看完其实现还没有完整的一个概念,即不太清楚作者为什么要这样子设计,只能窥知一点,需要看完redis如何使用再回头来体会,有不足之处还望告知。 涉及文件:sds.h/sds.c1. 数据结构: 1 typedef char *sds;2 3 ...
阅读全文
摘要:0. 前言: 这篇文章旨在对redis环境的搭建以及对redis有个大概的认识。一.redis搭建: 环境:ubuntu 14 软件包:redis-3.0.3.tar.gz安装步骤: 1. 首先解压redis源码包 2. 进入目录redis-3.0.3,使用make编译源码 3. 编...
阅读全文

浙公网安备 33010602011771号