I/O操作对于每个系统来说都是必不可少的一部分。而且I/O操作的好坏,在一定程度上也会影响着系统的效率问题。今天我学习了一下在Redis中的I/O是怎么处理的,同样的,Redis在他自己的系统中,也封装了一个I/O层。简称RIO。得先看看RIO中有什么东西喽:
struct _rio {
/* Backend functions.
* Since this functions ...
分类:
其他好文 时间:
2014-11-02 10:56:10
阅读次数:
166
今天学习的是是2个log的文件,2个文件的实现功能都超出我原本理解的意思。开始时我以为就是记录不同的类型的日志,后来才慢慢的明白了额,slowLog记录的是超时的查询记录,而hyperloglog其实跟日志一点关系都没有,好吧,我再一次傻眼了,他其实是一种基数统计算法,应该分开了看,hyper + loglog的计算。好,接下来,我们开始学习一下Redis代码中是如何实现的。
sl...
分类:
其他好文 时间:
2014-11-02 09:27:14
阅读次数:
248
Storm-源码分析汇总Storm FeaturesStorm 简介Storm Topology的并发度Storm - Guaranteeing message processingStorm - Transactional-topologiesTwitter Storm – DRPCStorm 多...
分类:
其他好文 时间:
2014-11-01 14:37:40
阅读次数:
532
上一篇分析了BeanFactory体系的2个类,SimpleAliasRegistry和DefaultSingletonBeanRegistry——Spring源码分析——BeanFactory体系之抽象类、类分析(一),今天继续分析。一、工厂Bean注册支持——FactoryBeanRegis.....
分类:
编程语言 时间:
2014-10-31 22:00:48
阅读次数:
331
通过上一篇文章《Appium Android Bootstrap源码分析之控件AndroidElement》我们知道了Appium从pc端发送过来的命令如果是控件相关的话,最终目标控件在bootstrap中是以AndroidElement对象的方式呈现出来的,并且该控件对象会在AndroidElementHash维护的控件哈希表中保存起来。但是appium触发一个命令除了需要提供是否与控件相关这个...
分类:
移动开发 时间:
2014-10-31 13:51:37
阅读次数:
339
在上篇文章中初步的分析了一下,Redis工具类文件中的一些用法,包括2个随机算法和循环冗余校验算法,今天,继续学习Redis中的其他的一些辅助工具类的用法。包括里面的大小端转换算法,sha算法在Redis中的实现和通用工具类算法util.c。
先来看看大小端转换算法,大小端学习过操作系统的人一定知道是什么意思,在不同的操作系统中,高位数字的存储方式存在,高位在前,低位在后,或是...
分类:
其他好文 时间:
2014-10-31 12:06:50
阅读次数:
227
通过上一篇文章《Appium Android Bootstrap源码分析之简介》我们对bootstrap的定义以及其在appium和uiautomator处于一个什么样的位置有了一个初步的了解,那么按照正常的写书的思路,下一个章节应该就要去看bootstrap是如何建立socket来获取数据然后怎样进行处理的了。但本人觉得这样子做并不会太好,因为到时整篇文章会变得非常的冗长,因为你在编写的过程中碰...
分类:
移动开发 时间:
2014-10-31 12:01:28
阅读次数:
292
本文将从 源码 研究nodejs 的原理、本质,探讨nodejs的应用场景,以及高性能开发实践指南。
目录:
第一节:编译node.js
第二节:源码分析
进入主题:以下是在win7 64 下进行,其他平台编译 ,请参见官网。
第一节:编译node.js,过程很简单
1、下载源码。 git clone https://github.com/joyent/node
如果没有...
分类:
Web程序 时间:
2014-10-30 23:56:06
阅读次数:
430
一. Reactor模式简介
Reactor释义"反应堆",是一种事件驱动机制。和普通函数调用的不同之处在于:应用程序不是主动的调用某个API完成处理,而是恰恰相反,Reactor逆置了事件处理流程,应用程序需要提供相应的接口并注册到Reactor上,如果相应的时间发生,Reactor将主动调用应用程序注册的接口,这些接口又称为"回调函数"。
二. moduo库Reactor模式的实现
...
分类:
其他好文 时间:
2014-10-30 21:00:16
阅读次数:
312
一. TcpServer类:
管理所有的TCP客户连接,TcpServer供用户直接使用,生命期由用户直接控制。用户只需设置好相应的回调函数(如消息处理messageCallback)然后TcpServer::start()即可。
主要数据成员:
boost::scoped_ptr acceptor_; 用来接受连接
std::map connections_; 用来存储所有连...
分类:
其他好文 时间:
2014-10-30 20:58:21
阅读次数:
185