NoSQL学习
文章平均质量分 82
wudongxu
这个作者很懒,什么都没留下…
展开
-
redis学习总结
Redis学习总结redis是一个单线程基于事件机制的一个模型,使用事件处理框架 aeEvent1. 启动过程Reids的启动过程大致如下:1.初始化全局struct server数据结构,给每个成员赋予默认值,并且创建命令表,用于查找相应命令对应的处理函数:initServerConfig()--->populateCommandTable2.如果指定了配置文件,原创 2011-11-23 21:29:47 · 5582 阅读 · 0 评论 -
Redis SNAPSHOT的实现
Redis SNAPSHOT上一篇文章我们学习了redis aof的实现.这篇文章我们将学习redis的另一种持久化方式:snapshot(快照)。同上一篇文章一样,我们首先介绍相关参数;然后依次介绍它的使用场景。1. 配置参数save :相对一个DB,多少秒内发生了多少次更新操作,此时就会进行一次保存操作,这个可以设置多个条件,它们中的任一个满足都会保存一次,下面把这个原创 2011-12-11 17:58:19 · 2364 阅读 · 0 评论 -
REDIS AOF的实现
Redis AOF上文我们介绍了Redis的主框架,以及两种持久化大概原理。本文我们将从源码角度分析Redis AOF的相关实现。(本文基于的版本为2.4.2)1. 相关配置项首先我们看一下redis.conf里的关于AOF的配置选项:Appendonly(yes,no):是否开启AOF持久化Appendfilename(log/appendonly.aof):AOF日志文件原创 2011-12-08 13:50:43 · 10608 阅读 · 1 评论 -
redis replication
redis replication//////////////////////////////////////////////// slave /////////////////////////////////////////////1. Slave init方式当前有两种方式:启动一个server通过slaveof mip mport方式来将该server转换为一个slav原创 2011-12-20 19:43:37 · 2186 阅读 · 0 评论 -
redis代码结构之二net,main,event
redis代码结构之二net,main,event1. 网络库anet.c、networking.c:这两个文件主要实现与网络通信以及与client之间的交互处理。1.1 anet.c该文件封装了基本的网络socket操作(tcp、unixsock),我们这里通过调用者简单说明一下其中的函数。(有一些函数在当前还没有使用)Server使用的函数:int anetTcpSer原创 2012-01-19 17:28:16 · 101 阅读 · 0 评论 -
redis代码结构之一mem,bio
Redis代码结构 一mem,bio1. Redis代码结构事件库类型库网络库持久化复制订阅事务mainclient其它ae.cae_epoll.c ae_kqueue.cae_select.csyncio.cadlist.cintset.cobject.csds.ct_ha原创 2012-01-19 17:09:10 · 205 阅读 · 0 评论 -
redis代码结构之三类型库-string
redis代码结构之三类型库-list 1. 类型库概述下面介绍redis核心的内容以及所支持的数据类型及操作。首先看一下相应的数据结构:typedef char *sds; //该文件返回的基本上都是sds,即char *,也是实际存储内容的地址。struct sdshdr { int len; //内容拥有的空间,不包括该结构的本身的大小,也不包括buf最后的结束符’原创 2012-01-19 17:37:37 · 1857 阅读 · 0 评论 -
redis代码结构之三类型库-list
redis代码结构之三类型库-list 1. REDIS_LIST(t_list.c)该类型的命令包括:lpush,rpush,lpop,rpop等等。这里我们只介绍lpush命令,它相应的命令回调函数为void lpushCommand(redisClient *c) { pushGenericCommand(c,REDIS_HEAD);}我们直接看pushGenericCommand原创 2012-01-19 17:42:14 · 1890 阅读 · 0 评论