NoSQL学习
文章平均质量分 82
wudongxu
这个作者很懒,什么都没留下…
展开
-
redis学习总结
Redis学习总结 redis是一个单线程基于事件机制的一个模型,使用事件处理框架 aeEvent 1. 启动过程 Reids的启动过程大致如下: 1.初始化全局struct server数据结构,给每个成员赋予默认值,并且创建命令表,用于查找相应命令对应的处理函数:initServerConfig()--->populateCommandTable 2.如果指定了配置文件,原创 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,event 1. 网络库 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,bio 1. Redis代码结构 事件库 类型库 网络库 持久化 复制 订阅 事务 main client 其它 ae.c ae_epoll.c ae_kqueue.c ae_select.c syncio.c adlist.c intset.c object.c sds.c t_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 评论