摘要: memcached1.4.10安装操作系统:CENTOS5.6安装libeventmkdir libeventcd libevent下载libevent2.0.16wget --no-check-certificate https://github.com/downloads/libevent/libevent/libevent-2.0.16-stable.tar.gz 或者通过浏览器下载后通过rz拿到服务器安装rz,sz工具 yum -y install lrzszrztar xzvf libevent-2.0.16-stable.tar.gz cd libevent-2.0.16-sta. 阅读全文
posted @ 2011-12-08 19:37 羽化成蝶 阅读(755) 评论(0) 推荐(0) 编辑
摘要: VMWare提供了三种工作模式,它们是了解一下这三种工作模式: 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。 使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。 ... 阅读全文
posted @ 2011-12-08 16:57 羽化成蝶 阅读(205) 评论(0) 推荐(0) 编辑
摘要: memcached 源代码阅读笔记- SET 操作分析输入set yzn 32 0 5hell1进入static void process_command(conn *c, char *command) 函数进入如下分支if (ntokens == 6 && ((strcmp(tokens[COMMAND_TOKEN].value, "add") == 0 && (comm = NREAD_ADD)) || (strcmp(tokens[COMMAND_TOKEN].value, "set") == 0 && 阅读全文
posted @ 2011-12-07 16:33 羽化成蝶 阅读(541) 评论(0) 推荐(0) 编辑
摘要: if (!(listen_conn = conn_new(l_socket, conn_listening, EV_READ | EV_PERSIST, 1, false, main_base)))conn *conn_new(const int sfd, const int init_state, const int event_flags, const int read_buffer_size, const bool is_udp, struct event_base *base) { conn *c = conn_from_freelist(); if (NULL == c) { i.. 阅读全文
posted @ 2011-12-06 21:30 羽化成蝶 阅读(585) 评论(0) 推荐(1) 编辑
摘要: Memcached源代码阅读笔记采用单步跟踪的方式对源代码进行阅读调试参数 startif(WSAStartup(MAKEWORD(2,0), &wsaData) != 0) { fprintf(stderr, "Socket Initialization Error. Program aborted\n"); return; }/* init settings */ settings_init();初始化设置,这里主要是设置一些默认的启动参数static void settings_init(void) { settings.access=0700; settin 阅读全文
posted @ 2011-12-06 19:35 羽化成蝶 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 下载libevent2.0.16稳定版https://github.com/downloads/libevent/libevent/libevent-2.0.16-stable.tar.gz进入VS2010命令提示d:cd libevent-2.0.16-stablenmake /f Makefile.nmake编译成功生成libevent.lib libevent_core.lib libevent_extras.lib用vs2010 创建一个win32控制台应用程序,项目名称Httpd,取消为解决方案创建目录选项,位置d:\test然后两个下一步,应用程序类型选择控制台应用程序,附加选项勾 阅读全文
posted @ 2011-12-05 14:39 羽化成蝶 阅读(2811) 评论(1) 推荐(0) 编辑
摘要: 采用Kenneth Dalgleish的windows memcached1.2.4版本。该版本是可以用Visual Studio2005编译。编译方法:复制libevent.lib到D:\memcached-1.2.4-Win32-Preview-20080309_src\Win32-Prj然后再visual stuido2005 编译,编译会报错错误1fatal error C1083: 无法打开包括文件:“event.h”: No such file or directoryd:\memcached-1.2.4-win32-preview-20080309_src\memcached.. 阅读全文
posted @ 2011-12-01 18:43 羽化成蝶 阅读(526) 评论(0) 推荐(0) 编辑
摘要: EINTREINTR linux中函数的返回状态,在不同的函数中意义不同:1)write 表示:由于信号中断,没写成功任何数据。 The call was interrupted by a signal before any data was written.2)read 表示:由于信号中断,没读到任何数据。 The call was interrupted by a signal before any data was read.3)sem_wait 函数调用被信号处理函数中断 The call was interrupted by a signal handler.4)... 阅读全文
posted @ 2011-12-01 16:33 羽化成蝶 阅读(493) 评论(0) 推荐(0) 编辑
摘要: --今天帮同事解决一个问题,就是线程插入检测数据重复的问题createtable TblDup(a int)select * from TblDup方案1:create unique indexidx_TblDup_a on TblDup(a)declare @a intset @a=1INSERT INTO TblDup(a) SELECT @aWHERE NOT EXISTS (SELECT a FROM TblDup WHERE a=@a) 方案2BEGIN TRY INSERT into TblDup(a) values(1) END TRY BEGIN CATCH DECLARE.. 阅读全文
posted @ 2011-11-25 18:51 羽化成蝶 阅读(700) 评论(0) 推荐(0) 编辑
摘要: 从编写第一个程序到现在已经22年了,从BASIC到PASCAL,从汇编到C语言,从C++ 到java,.net ,从ASP到PHP,从dos 到windows,再到linux,期间经历了太多的语言、操作系统、业务系统,每个东西都经历了陌生、狂热、熟悉、精通、生疏、遗忘的生命轨迹,如此下去怎能集大成呢?必须得整理下了,以后慢慢地要把以前写的代码、设计、思考拿出来整理分享下了,既帮助自己也惠及他人,何乐不为呢。 阅读全文
posted @ 2011-09-24 12:45 羽化成蝶 阅读(124) 评论(0) 推荐(0) 编辑