`
文章列表
关于redis的事件处理机制,网上有很详细的源码解析了,基于2.0.4的,URL如下:redis源代码分析8–事件处理(上) redis源代码分析8–事件处理(中) redis源代码分析8–事件处理(下) 小总结: 初始化:在redis.c中initServer调用aeCreateEventLoop,并建立了现有唯一的一个time event:serverCron. 使用:在redis.c中main 1) 调用aeSetBeforeSleepProc设置beforeSleep函数,我看的源码是2.2.1的,功能比2.0.4稍作改变,加上了处理之前等待BLPOP的已 ...
Redis 是支持多 key-value 数据库 ( 表 ) 的 , 并用 RedisDb 来表示一个 key-value 数据库 ( 表 ). redisServer 中有一个 redisDb *db; 成员变量 , RedisServer 在初始化时 , 会根据配置文件的 db 数量来创建一个 redisDb 数组 . 客户端在连接后 , 通过 SELECT 指令来选择一个 reidsDb, 如果不指定 , 则缺省是 redisDb 数组的第 1 个 ( 即下标是 0)redisDb. 一个客户 ...
数据结构定义: struct sdshdr {     long len;     long free;     char buf[]; }; 1) buf是一个变长数组,指向真正的字符串,非指针*; 2) len存储字符串总长度,保证o(1)的长度获取操作; 3) free存储空闲字符长度. 简短精悍. 新建一个字符串: sds sdsnewlen(const void *init, size_t initlen) {     struct sdshdr *sh;     sh = zmalloc(sizeof(struct sdshdr)+initlen+1 ...
Software: 1)HAProxy(load balancer) HAProxy is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications. It is particularly suited for web sites crawling under very high loads while needing persistence or Layer7 processing ...
1. Google Map开发教程: http://marakana.com/forums/android/examples/311.html 2. 开发环境Eclipse + ADT, 需要首先下Android SDK并按需求更新. 一般的选择性的会只下Android的package, 要用Google Map, 需要下Third party Add-ons中的Google APIs. 3. 如教程所说,需要申请Google Map的API key. 4. 新建项目时,Build Target需选Google APIs. 5. 运行时报错: Installation error: INSTAL ...
G++ error: Error: declaration of xxx shadows parameter Explanation: http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.3 [10.3] Can one constructor of a class call another constructor of the same class to initialize the this object? Nope. Let's work an example. Suppose you want your construc ...
Definition(from Scaling up vs. Scaling out ): scaling up -- a seriously big iron single server. scaled out -- Hadoop or MapReduce style, across lots and lots of inexpensive servers. Other factors(per year): software licensing: if using all open source software, close to zero. power cost. Scal ...
最近在看DTrace,记录下点滴: 文档推荐: 1.入门:DTrace Quick Start Guide: Observing Native and Web Applications in Production (PDF) 2.循序渐进:Learning DTrace Series     * Part 1: Introduction (pdf) *     * Part 2: Scripts and the D Language (pdf) *     * Part 3: Advanced Scripting and Aggregations (pdf) * ...
这两天听一个老外讲师讲Linux Compile和Debug的Training,看到一些有意思的东西,找了点资料,写出来.算是第一篇有点意义的文章. 这两个宏以前都没见过,据说都是内核里常用的东东,厄,确实接触得少. 首先是__stringify宏: g了一下,找到一篇文章,以下内容都是转载,仅经过验证和整理,粘出内容: 宏定义: 在 linux/stringify.h中 #ifndef __LINUX_STRINGIFY_H #define __LINUX_STRINGIFY_H /* Indirect stringification. Doing two levels allows ...
Global site tag (gtag.js) - Google Analytics