memcache的介绍与原理简介: memcached是由Danga Interactive开发的,高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。解决共享内存在单个机子的局限性,在window下使用的是libevent,而在linux下使用的是epoll来均...
分类:
其他好文 时间:
2014-08-06 17:45:21
阅读次数:
231
设想一个场景:有100万用户同一时候与一个进程保持着TCP连接,而每个时刻仅仅有几十个或几百个TCP连接时活跃的(接收到TCP包),也就是说,在每一时刻,进程值须要处理这100万连接中的一小部分连接。那么,怎样才干高效地处理这样的场景呢?进程是否在每次询问操作系统收集有事件发生的TCP连接时,把这1...
分类:
其他好文 时间:
2014-08-06 17:19:41
阅读次数:
232
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在...
分类:
其他好文 时间:
2014-08-06 08:22:31
阅读次数:
297
当系统启动时,epoll进行初始化: 1 static int __init eventpoll_init(void) 2 { 3 mutex_init(&pmutex); 4 ep_poll_safewake_init(&psw); 5 epi_cache = kmem_c...
分类:
其他好文 时间:
2014-08-05 13:51:59
阅读次数:
431
一、开发工具1. 本项目使用Golang进行开发,主要有以下好处Golang是一种类型安全(type-safe)的语言,并且自带垃圾回收机制,避开了许多底层语言如C/C++中的陷阱引入了许多轻便实用性强的数据结构,比如变长数组,字典等提供了大量的包其中包括网络库,RPC等供编程者使用,使得开发效率更...
分类:
其他好文 时间:
2014-08-05 13:20:29
阅读次数:
436
首先,介绍几种常见的I/O模型及其区别,如下: blocking I/O nonblocking I/O I/O multiplexing (select?and?poll) signal driven I/O (SIGIO) asynchronous I/O (the POSIX?aio_functions) blocking I/O? 这...
分类:
其他好文 时间:
2014-08-04 14:47:17
阅读次数:
241
下面是我最近研究的用C写的Linux,socket聊天程序。要学Epoll,EPOLL中有很多socket的语句,所以又跳到C这边来了。server.c#include #include #include #include #include #include #include #include #i...
分类:
其他好文 时间:
2014-08-01 04:44:21
阅读次数:
255
0.春阳语录,代码嵌套三层以上就是一坨垃圾。因此良好的编程风格从封装开始。1.封装select服务器模型 1.1 如何封装?将select需要的数据结构都封装成结构体,通过参数在函数之间传递,将固定的操作封装成相应的函数。 1.2 封装后的程序: 1.2.1 封装的头文件 select_t...
分类:
系统相关 时间:
2014-07-31 23:23:40
阅读次数:
442
#include #include #include #include #include #include #include #include #include #include "rio.h"#include #include #define ERR_EXIT(m) \ do { \ ...
分类:
编程语言 时间:
2014-07-31 02:35:06
阅读次数:
411