本篇我们来看一下Redis的数据存储结构。 数据库 Redis的数据库对应的结构体是redisDb,对应的结构体定义如下: dict中存储的是所有数据库中的数据,键为sds,...
本篇我们来看一下Redis的数据存储结构。 数据库 Redis的数据库对应的结构体是redisDb,对应的结构体定义如下: dict中存储的是所有数据库中的数据,键为sds,...
本篇我们来看一下Redis命令的执行过程,入口是networking.c的processCommandAndResetClient方法。 先看processCommand: ...
本篇来看一下Redis的请求处理过程。 监听过程 监听端口后得到文件描述符,调用aeCreateFileEvent将文件描述符注册到事件循环中,注册监听可读事件。 看一下li...
本篇我们来讲Redis的事件循环,Redis的事件循环会根据系统选择evport、epoll、kqueue或select来进行IO多路复用,我们这里只分析epoll。 Red...
本篇我们来分析ZooKeeper的数据库日志,ZooKeeper的数据库日志分为两类,快照日志和事务日志。快照日志存储的数据库某个时刻的快照,事务日志存储的所有事务请求。 数...
本篇来介绍ZooKeeper的数据结构,也可以说是存储结构。 ZooKeeper的数据库对应的类是ZKDatabase: dataTree存储了具体的数据,sessionsW...
session在zookeeper中是一个不能避开的概念,临时节点(包括临时普通节点和临时顺序节点)都是与session关联的,临时节点将在session超期后被删除。本篇我...
ZooKeeper的读写请求实际上是由一个RequestProcessor链处理的,根据服务器的角色分为四种不完全相同的情况,单机、leader、follower和obser...
前面我们分析了zk启动的选举过程[//www.greatytc.com/p/3f1fb667be07],这篇文章分析同步过程。 leader的同步过程 同步入口是Q...
zk的启动模式分为单机模式和集群模式,前面已经分析了单机启动的流程[//www.greatytc.com/p/d2ee129e5c54],本文分析的是集群模式下的z...
上一篇启动分析[//www.greatytc.com/p/d2ee129e5c54]我们提到,ServerCnxnFactory负责接收客户端请求。ServerCn...
zk的启动模式分为单机模式和集群模式,本文分析的是单机模式下的zk启动过程。无论是单机模式还是集群模式,通过zkServer.sh,我们知道它的入口类都是org.apache...