自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 golang实现ringbuffer(不定长)

golang实现ringbuffer(不定长)

2017-05-01 16:08:08 4012

原创 go的http详解

Go提供了一个完善的net/http包用于搭建web服务器,同时http能很简单的对web的路由进行设置和操作。

2017-04-29 19:17:51 3480

原创 redis bio异步组件的源码分析

redis对于客户端请求的处理是基于单线程模型。除了aof和rdb,其余耗时操作都在线程组中异步处理。

2017-04-14 00:07:38 651

原创 redis lazyfree空间懒释放的源码分析

redis是一个内存数据库,内存释放又是一个比较重的操作,所以redis对于部分内存的释放采取了懒释放。

2017-04-13 17:13:27 1565

原创 redis过期键删除机制的源码分析

在redis数据库中,可以对键值对设置过期时间。当键值对过期时,redis会通过一定的机制将过期键删除。

2017-04-12 22:52:57 3368 1

原创 redis evict.c内存淘汰机制的源码分析

redis是一个内存数据库,当数据变多之后,就要淘汰一些键值对,使得内存有足够的空间来保存新的键值对。

2017-04-12 14:36:53 2437 1

原创 redis aof持久化的源码分析

redis提供了aof持久化功能。与rdb不同,aof持久化是通过保存redis服务器所执行的写命令来记录数据库的状态。

2017-04-02 11:22:04 2359

原创 redis rdb持久化的源码分析

redis是一个内存数据库。 在redis运行时,rdb程序就是将内存中的数据库的数据结构以rdb文件形式保存到磁盘。

2017-03-30 23:02:42 2130

原创 redis replication主从复制的源码分析(2)

现在我们来分析redis复制的实现, redis的复制功能分为同步和命令传播。

2017-03-28 18:08:48 1380

原创 memcached I/O模型源码分析

memcached是基于多路复用实现事件驱动的服务器,在事件处理方面,应用了master+works的线程模型。 master线程负责监听端口,当有新的连接,master线程负责接收连接,将连接加入到指定的work线程的队列,然后通过管道通知该线程处理该连接。 master线程和work线程之间通过一个管道进行信息交互。 work线程监听管道读端,当master线程发送'c',work线程从队列获取客户端连接进行监听,负责客户端所有请求的处理。

2017-01-31 22:46:57 599

原创 redis anet网络通信的源码分析

anet是redis对网络通信(socket)的简单封装和一些状态设置的封装。

2017-01-05 23:19:02 1119

原创 redis ae事件驱动的源码分析

redis是一个事件驱动的服务器,主要处理两类事件:文件事件和时间事件。

2017-01-01 22:38:15 993

原创 redis inset整数集合的源码分析

inset是redis中用于保存整数值的集合抽象数据结构,可以保存类型为int16_t,int32_t,int64_t的整数值,并且在集合中不会出现重复整数值。

2017-01-01 16:36:17 755

原创 redis t_hash哈希对象的源码分析

哈希对象的编码可以是ziplist或者hashtable。

2017-01-01 14:48:06 975

原创 redis db.c数据库底层操作的源码分析

redis的所有数据库都是保存在redisServer结构体的db数组中。db.c主要是封装了数据库的底层操作实现。

2016-12-31 23:54:54 1215

原创 redis object对象系统的源码分析

redis中有数据结构来存储键值对,主要有简单动态字符串、双端队列、字典、压缩列表、整数集合和跳跃表。redis就基于这些数据结构构建一个对象系统,主要是字符串对象、列表对象、哈希对象、集合对象和有序集合对象,每种对象都用到至少一种上述的数据结构。

2016-12-29 16:02:45 753 2

原创 redis networking通信协议的源码分析

networking的代码主要是针对client的命令进行处理,主要是实现三个功能:client连接的管理;解析client的请求;发送回复内容给client。

2016-12-28 15:57:02 1950

原创 redis dict字典的源码分析

Redis的字典用哈希表作为底层实现,一个哈希表里可以有很多哈希表节点,而每个哈希表节点就保存了字典的一个键值对。

2016-12-26 22:57:25 677

原创 redis ziplist压缩列表的源码分析

ziplist是redis为了节约内存而开发的,由一系列特殊编码的连续内存块组成的顺序数据结构。一个ziplist可以包含任意多个节点(entry),每个节点可以保存一个字节数组或者一个整数值。

2016-12-22 19:27:59 860

原创 redis cluster集群的源码分析(2)

本文的分析主要介绍集群中的槽和集群中命令的执行。

2016-12-22 17:39:39 2680

原创 redis sentinel哨兵机制的源码分析

sentinel是redis的高可用性解决方案:由一个或多个sentinel实例组成sentinel系统监视多个master以及master的slave,并在被监视的master进入下线状态时,自动将下线master的某个slave升级为master,然后新的master代替下线的master处理命令请求。

2016-12-09 11:33:51 1811

原创 redis cluster集群的源码分析(1)

对于cluster.c的源码分析,我将会分两部分介绍。本文主要分析集群通信和通信故障。先大致归纳下cluster的主要函数void clusterCron(void);//集群的定时任务int clusterProcessPacket(clusterLink *link);//消息处理中心void clusterProcessGossipSection(clusterMsg *hdr...

2016-12-07 13:51:50 2864

原创 redis replication主从复制的源码分析(1)

本文主要分析slave连接master进行主从复制的过程实现。

2016-08-15 20:27:43 2652

原创 函数指针

函数指针是指向函数的指针变量。 因而“函数指针“本质是指针变量,只不过该指针变量指向函数。在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,我们就可以用指针变量调用函数,就如同用指针变量可引用其他类型变量一样。函数指针有两个用途:调用函数和做函数的参数。        函数指针的声明方法为:        函数返回类型  (标识符指针变量名

2014-03-24 12:45:19 618

GPU 编程与CG 语言之阳春白雪下里巴人

GPU 编程与CG 语言之阳春白雪下里巴人

2016-02-15

空空如也

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

TA关注的人

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