暂无个人介绍
这篇文章接上一篇,主要介绍Redis网络监听流程的各个步骤。 aeCreateEventLoop :创建用于循环监听的 eventLoop , Redis 支持主流的三种事件触发机制: select ,epoll, kqueue, 可以通过在 config.
接下来的三篇文章将对Redis的网络监听流程及涉及到事件库和各个主要方法进行介绍。 在介绍 redis的网络监听流程和事件库之前,我们先设想一下,如果我们不采用 libevent 等流行的开源库进行基于事件的网络监听,而是自己去实现一套基于事件的库去进行网络监听,需要考虑些什么,然后我们带着这些问题去分析 Redis是如果通过少量的代码来完成这个工作的。
前面写了一篇文章简单介绍Redis的list结构。再写完之后,我觉得有必要熟悉Redis的启动过程和如何读取Redis的命令,因此本文将通过分析代码来介绍Redis的启动过程,通过查看Redis 的启动脚本,得知Redis的启动时从Redis.c的main方法开始的。
Redis 3.0 源码注释 本项目是注释版的 Redis 3.0 源码, 原始代码来自: https://github.com/antirez/redis 。
0. 前言 Hiredis是一个Redis的C客户端库函数,基本实现了Redis的协议的最小集。这里对hiredis的api作基本的介绍以及应用,主要参考hiredis的README文件以及相关源码。
同步的API接口 redisContext *redisConnect(const char *ip, int port); void *redisCommand(redisContext *c, const char *format, .
本文转载自链接: http://blog.csdn.net/chenzba/article/details/51224715 最近使用redis的c接口——hiredis,使客户端与redis服务器通信,实现消息订阅和发布(PUB/SUB)的功能,我把遇到的一些问题和解决方法列出来供大家学习。
windows下hiredis的编译,有需要的朋友可以参考下。 果然,高端的程序员真心是鸟都不鸟windows的,redis的客户端找了一圈愣是没有C++的windows版本 我要做个windows上的C++的服务...
简介 说到异步IO,高并发之类的名词, 可能很多人第一反应就是 select, poll, epoll, kqueue 之类的底层代码库。
之前写过两篇关于 Thrift 的相关文章。 Thrift源码剖析 Thrift异步IO服务器源码分析 也算是对Thrift比较熟悉,不过对 Thrift 里面的 Protocol 部分还是黑盒使用。
最近在使用 libevent 开发项目,想起之前写 Thrift源码剖析 的时候说到关于 TNonblockingServer 以后会单独写一篇解析, 现在是时候了,就这篇了。
由于工作的关系,需要定位一个 bug 是否和 Thrift 有关, 所以用了一下午的时间研读了 Thrift-0.9.0 代码,虽然发现这个 bug 和 thrift 无关。
http://www.tuicool.com/articles/YBNZZzI 一 前言 项目中用到了redis,但用到的都是最最基本的功能,比如简单的slave机制,数据结构只使用了字符串。
gsoap中文乱码的问题 -- 拔剑,2010-08-31 一、 问题和分析 gsoap在调用Webservice过程中,如果字符串中有汉字,很容易出现乱码。
中文乱码与locale有关,这里给出两种解决方法: 一、设置locale 1、setlocale(LC_ALL, "");//设置程序locale为系统默认(我的系统是zh_CN.utf8),gsoap内部进行编码转换依赖于locale,所以必须设置为中文环境。
http://www.blogjava.net/libin2722/articles/159469.html 为什么使用WSDL? 像Internet协议之类的标准有没有为权威所利用,或者人们这样看待它是因为顺之所获的好处远远超出了代价?曾经有许多试图建立的标准都流产了。
1)Pass each structure member as an individual method parameter.
首先来阐述几个重要的概念: 1、community (共同体名):如果翻译过来可能会显得难于理解,其实你完全可以把它理解为一个带有权限的登陆账户,这是你访问网络设备的重要凭据,比如你要访问交换机,假如交换机的community是public,其权限是只读的,那你一次用户登陆交换机就可以查看有关交换机记录的数据。
国家智能交通系统工程技术研究中心 张北海 中交国通智能交通系统技术有限公司 肖媛媛 1. NTCIP的发展历程 NTCIP(National Transportation Communications for I...
http://www.ibm.com/developerworks/cn/java/j-lo-apachethrift/ 前言: 目前流行的服务调用方式有很多种,例如基于 SOAP 消息格式的 Web Service,基于 JSON 消息格式的 RESTful 服务等。
1、前言 Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。
linux上安装thrift见 http://jinghong.iteye.com/blog/1102535 thrift做为跨语言调用的方案有高效,支持语言较多,成熟等优点;代码侵入较强是其弱点。
dd if=***.img bs=1 skip=172 > ***_nohead.bin
/* md5.c - an implementation of the MD5 algorithm and MD5 crypt */ /* * GRUB -- GRand Unified Bootloader ...
技巧: 用 cat 合并文件 您常常需要将几个文件处理成一个文件并将这种处理的结果保存到一个单独的输出文件。
摘要:JavaScript是一门非常流行的编程语言,许多开发者都会把JavaScript选为入门语言,本文向大家分享JavaScript开发的小技巧、最佳实践等非常实用的内容。
http://www.iteye.com/topic/478024 DES(Data Encrypt Standard数据库加密标准)是迄今为止使用最广泛的加密体制。
Pnig0s1992:算是复习了,最经典的教科书式的Dll注入。 总结一下基本的注入过程,分注入和卸载 注入Dll: 1,OpenProcess获得要注入进程的句柄 2,VirtualAllocEx在远程进程中开辟出一段内存,长度为strlen(dllname)+1; 3,WriteProcessMemory将Dll的名字写入第二步开辟出的内存中。
http://www.codeproject.com/Articles/2518/Enumerate-and-Change-Display-Modes Introduction This article will b...
http://xmit.org.cn/forum.php?mod=viewthread&tid=3409&extra=page=1&page=1& 今天开始想写个验证QQ密码的工具,以前写过一个QQ验证器的程序,就拿了那个代码试了一下居然不能同。
http://www.vckbase.com/index.php/wv/1390 这里要先用SPY++来找到QQ登陆框的各个窗口标题或ID号。
http://gamebabyrocksun.blog.163.com/
http://gamebabyrocksun.blog.163.com/blog/static/57153463201021554716831/ 在前一篇文章《WinSock2编程之打造完整的SOCKET池 》中,介绍了WinSock2的一些新函数,并重点详细介绍了什么是SOCKET池,有了这个概念,现在就接着展开更深入的讨论。
远程注入DLL(简单描述) 远程注入DLL 建议在阅读本文前先阅读取得句柄的令牌 OpenProcessToken()函数一文! 没错,现在讨论的就是传说中的远程注入技术,目前一种非常流行的隐藏技术,因为它没有进程,是通过远程插入线程调用DLL文件实现的!在这里先说一下.
这个Base64是从Live555的代码里面提取出来的,请大家放心使用吧。 Base64的加密解密的算法和原理我就不想说了。
作者:riusksk (泉哥) 主页:http://riusksk.blogbus.com 前言 在当今信息安全领域,特别是恶意软件分析中,经常需要利用到虚拟机技术,以提高病毒分析过程的安全性以及硬件资源的节约性,因此它在恶意软件领域中是应用 越来越来广泛。
先说3种方法 代码: #include #include BOOL gInVMWARE, gInVirtualPC; BOOL VMWareTest() { BYTE PortValue1,PortValue2; _...
使用*nix系统已经有一段时间了。但还是有一些命令是被我一直忽略的,真希望我能早几年发现这些命令。 1. man ascii这个命令会打印出八进制、十六进制和十进制的ASCII码表。
#define PW_WINDOW 9001 #define PW_CLIENT 9002 HBITMAP CMyProgramDlg::CopyScreenToBitmap(...
在PostgreSQL中修改了一行不明显的代码,把(ANY(ARRAY[...]) 改成 ANY(VALUES(...))),结果查询时间从20s变为0.2s。
以下是在读《深入理解计算机系统》前面的章节“程序的机器级表示”时,自己动手在linux上使用了gdb对一个简单的C程序进行反汇编,通过不懈的努力终于查清楚弄明白了绝大多数的语句。
最近学习Qt,于是安装了一个从Qt官方网站http://qt.nokia.com/downloads上下载的完整的QtSDK,写了一个程序以后发现在QtCreator下,程序可以正常运行,但是当关闭QtCreator后,在DeBug目录下再运行相应的*.exe程序时,会提示“缺少mingwm10.dll”之类的信息,于是在网上搜怎么解决这个问题,最后发现大部分解决办法都是将相应的动态链接库放到应用程序目录下或者是Windows的system32目录下,个人感觉这种解决办法终究不是办法。
The following instructions will allow you to create filters for your email client which will automatically mov...
一,前言 使用64位体系结构对应用程序的开发者来说,Solaris 64位操作系统和32位操作系统之间的最大差别在于它们使用的C语言数据类型模型。
本来想写一篇来总结一下内存对齐的概念。结果今天在网上就看到了这篇文章。人家总结的挺好,而且还有详细的例子。唉,自己还是不要写了,直接粘过来吧。
"数据的的对齐" 以下内容节选自《Intel Architecture 32 Manual》。 字,双字,和四字在自然边界上不需要在内存中对齐。
一、SI信息的构成 1、信息构成 SI信息内容是按照network(网络)→transport strem(传输流)→service(业务)→event(事件)的分层顺序描述,如图1所示。
概述 本文深入介绍基础的 Linux 进程管理技术。您将学习如何: 创建简单的正则表达式 使用正则表达式搜索文件和文件系统 使用正则表达式和 sed 本文帮助您准备 Linux Professional Institute's Junior Level Administration (LPIC-1) 考试的 103 主题下的 103.7 考核目标。
文件的压缩和解压缩是计算历史上最有用的创造之一,但缺乏可移植性和开放工具是阻碍它发挥其应有作用的最主要的一个障碍。只要我们是与其他使用类似 Unix 操作系统的用户交换文件,就可以使用例如 compress 、gzip 和 bzip2 这样的可移植工具(如需链接,请参阅 参考资料 )。
关于 XZ Utils XZ Utils 是为 POSIX 平台开发具有高压缩率的工具。它使用 LZMA2 压缩算法,生成的压缩文件比 POSIX 平台传统使用的 gzip、bzip2 生成的压缩文件更小,而且解压缩速度也很快。