- 博客(7)
- 资源 (3)
- 收藏
- 关注
原创 Redis 之BIO与RIO
一、BIO 之后台IO操作 BIO : Background I/O service for Redis. 负责我们需要在后台执行的操作。现在redis的版本中只有两类的操作,后台的close及fsync 系统调用。 为了避免一个文件最后的owner在执行close操作带来的unlink使得阻塞server,将这类操作用单独的后台线程来执行 将数据从内存写入磁盘这点非常重要,即f
2016-09-19 13:49:27 2860
原创 Redis AE 异步事件模块
首先想一个问题,为何Redis比Memcached快呢? 一般想法:Memcached完全基于内存,而Redis具有持久化保存特性,即使是异步的,Redis也不可能比Memcached快。 可实际测试情况基本上是:Redis占绝对优势。 可能原因有二: 1、Libevent: Memcached使用、而Redis没有选用。Libevent为了迎合通用性造成代码庞大及牺牲了在特定平台
2016-09-18 14:50:36 3220
原创 Redis的主要脉络梳理
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 由于工作需要,需要深入研究此开源代码用于选型及设计代码,先从main函数开始吧。 参考版本:Redis-3.2.3 首先从main函数开始@server.c int main(int argc, char **argv) { //
2016-09-18 09:49:09 1919
原创 Memcached特性及优缺点
需求来源: 为了加快文件访问速度且提供多个使用者、需要在内存中建立内存缓存数据的管理减小读写磁盘的次数及保证数据的更新、因为需要使用cache缓存。 1、Memcached 主要特性 a、数据仅存在于内存中,宕机或重启数据将全部失效 b、内容数据达到启动时设定内存指定值后、基于LRU算法删除缓存,LAZY模式、可指定最大内存用量。 c、实际瓶颈在于网络连接、占应较少的
2016-09-08 14:38:30 8091 3
原创 Memcached 源码分析--命令流程分析
一、执行命令 首先是启动memcached 自带参数如下: -p 设置TCP端口号(默认设置为: 11211) -U UDP监听端口(默认: 11211, 0 时关闭) -l 绑定地址(默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问) -c max simultaneous connections
2016-09-07 18:03:40 2455
原创 Memcached 源码分析--网络模型流程分析
一、功能介绍 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。 它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。 Memcached基于一个存储键/值对的hashmap。其守护进程(daemon)是用C写的,但是客户端可以用任何语言来编写, 并通过memcached协议与守护进程通信。 memc
2016-09-07 12:16:16 1984
原创 Siege web 压测工具代码分析
一、功能简介 “Siege”意为围攻、包围。是一款使用纯C语言编写的开源WEB压测工具,适合在GNU/Linux上运行,具有较强的可移植性。 Siege使用多线程实现,支持随机访问多个URL,可以通过控制并发数、总请求数(or压测时间)来实现对web服务的压测。 Siege支持http,https,ftp三种请求方式,支持GET和POST方法,压测方式为同步压测。 因为编写http cli
2016-09-06 14:10:55 2168 2
Android sp&wp 测试代码
2015-11-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人