在上篇文章中初步的分析了一下,Redis工具类文件中的一些用法,包括2个随机算法和循环冗余校验算法,今天,继续学习Redis中的其他的一些辅助工具类的用法。包括里面的大小端转换算法,sha算法在Redis中的实现和通用工具类算法util.c。
先来看看大小端转换算法,大小端学习过操作系统的人一定知道是什么意思,在不同的操作系统中,高位数字的存储方式存在,高位在前,低位在后,或是...
分类:
其他好文 时间:
2014-10-31 12:06:50
阅读次数:
227
Memcached还是Redis? 在现代高性能Web应用中这一直是个争论不休的话题。 在基于关系型数据库的Web应用需要提高性能时,使用缓存是绝大多数架构师的第一选择,自然,Memcached和Redis通常是优先选择。共同特征都是 key-value 形式的内存数据库都是NoSQL家族的数据管理...
分类:
系统相关 时间:
2014-10-30 07:04:06
阅读次数:
301
在使用Redis做缓存时,应用往往能得到非常高的性能。然而,如果配置不当,你将遇到很多令人头疼的问题,比如复制缓冲区限制、复制超时等。Redis提供了许多提高和维护高效内存数据库使用的工具。在无需额外配置应用层的前提下,Redis独特的数据类型、指令和命令调优就可以满足应用的需求,但是错误的配置,更...
分类:
其他好文 时间:
2014-10-29 16:25:11
阅读次数:
430
上次我只分析了Redis网络部分的代码一部分,今天我把networking的代码实现部分也学习了一遍,netWorking的代码更多偏重的是Client客户端的操作。里面addReply()系列的方法操作是主要的部分。光光这个系列的方法,应该占据了一半的API的数量。我把API分成了3个部分:
/* ------------ API ---------------------- */
void ...
分类:
Web程序 时间:
2014-10-28 17:58:26
阅读次数:
283
昨天非常轻松的分析完Redis的事件驱动模型之后,今天我来看看anet的代码,anet是Redis对于Client/Server的网络操作的一个小小封装。代码中对此文件的官方解释为:
/* anet.c -- Basic TCP socket stuff made a bit less boring
* 基于简单的基本TCP的socket连接后面的made a bit less boring这...
分类:
Web程序 时间:
2014-10-27 10:57:43
阅读次数:
716
事件驱动这个名词出现的越来越频繁了,听起来非常高大上,今天本人把Redis内部的驱动模型研究了一番,感觉收获颇丰啊。一个ae.c主程序,加上4个事件类型的文件,让你彻底弄清楚,Redis是如何处理这些事件的。在Redis的事件处理中,用到了epoll,select,kqueue和evport,evport可能大家会陌生许多。前面3个都是非常常见的事件,在libevent的事件网络库中也都有出现。作...
分类:
其他好文 时间:
2014-10-26 11:51:15
阅读次数:
268
我们知道Redis数据库作为一个内存数据库,与memcached比较类似,基本的操作都是存储在内存缓冲区中,等到缓冲区中数据满后,在持久化到磁盘中。今天,我主要研究了对于redis中对于内存数据库的操作。与普通的数据操作比较,并没有什么特别多的其他的一些操作。下面是我分类出的一些API:
/*----------------------------------------------------...
分类:
数据库 时间:
2014-10-24 22:23:07
阅读次数:
401
每个系统都会有类似一个config配置文件,config文件里的内容想想都知道,一定就是那么一些固定的一行行的属性代码了,今天在看redis代码中的config属性,那拉下来的一笔,的确多,目测在50至100个属性左右。如果就此将config每个属性代表什么意思不是我的风格,也一定是很乏味的,所以我的特点就是在代码中去理解程序员在写这类代码时的思路,和茫茫代码中的亮点。我们知道,redis运行的环...
分类:
其他好文 时间:
2014-10-22 22:09:42
阅读次数:
216
继续学习redis源码下的Data数据相关文件的代码分析,今天我看的是一个叫aof的文件,这个字母是append ONLY file的简称,意味只进行追加文件操作。这里的文件追加记录时为了记录数据操作的改变记录,用以异常情况的数据恢复的。类似于之前我说的redo,undo日志的作用。我们都知道,redis作为一个内存数据库,数据的每次操作改变是先放在内存中,等到内存数据满了,在刷新到磁盘文件中,达...
分类:
移动开发 时间:
2014-10-20 21:29:33
阅读次数:
344
关于BerkeleyDB的有点和好处,列在下面
JE offers the following major features:
Large database support. JE databases efficiently scale from one to millions of records. The size of your JE databases are like...
分类:
数据库 时间:
2014-10-18 17:00:32
阅读次数:
347