该文被密码保护。
posted @ 2017-07-24 00:52 Arlenmbx 阅读(20) 评论(1) 编辑
该文被密码保护。
posted @ 2017-07-06 20:43 Arlenmbx 阅读(0) 评论(0) 编辑
该文被密码保护。
posted @ 2017-07-04 01:22 Arlenmbx 阅读(1) 评论(0) 编辑
摘要: 旧版的复制有同步和命令传播 同步: 如上图: 从向主发送sync,主服务器开始bgsave生成RBD并且将bgsave执行过程中执行的命令追加到AOF缓冲区。最后分别发送给从服务区 如果主服务器被修改了,那么他也需要使用命令传播传给从服务器 旧版本的复制主要缺陷在于断线后和初始其实是一个样的。 sy阅读全文
posted @ 2017-06-26 01:07 Arlenmbx 阅读(13) 评论(0) 编辑
摘要: 发送命令请求: (1)当客户端向服务器发送命令的时候,客户端首先会将命令请求转化哪位协议格式,然后发送给服务器 (2)server读取命令请求,进行解析,解析出argv和argc,并且将数据保存到输入缓冲区 (3)查找命令实现,查找命令对应的函数。 (4)执行预备操作 比如执行cmd指针指向的是否是阅读全文
posted @ 2017-06-25 23:36 Arlenmbx 阅读(84) 评论(0) 编辑
摘要: 在服务器中,对于所有连接的客户端都会保存在一个链表里面 所以redisclient里面的客户端状态其实就有很多属性 (1)fd套接字描述符 根据fd值那么客户端也不同,如果是-1就是伪客户端,否则就是网络连接的客户端 (2)名字 如果不设置位NULL (3)标识: 比如主从REDIS_MASTER,阅读全文
posted @ 2017-06-25 21:22 Arlenmbx 阅读(11) 评论(0) 编辑
摘要: redis是一个事件驱动程序 主要包含 文件事件和时间事件 文件事件:主要就是server和client进行操作产生的文件 时间事件:主要就是一些需要定时执行的事件。 文件事件: 文件事件处理器是单线程运行的,但是通过IO多路复用,可以处理多个套接字 下面是文件事件处理器的结构 文件事件处理器主要是阅读全文
posted @ 2017-06-25 20:49 Arlenmbx 阅读(42) 评论(0) 编辑
摘要: AOF持久化是通话记录执行的命令进行存储的 AOF持久化的事先可以分为 (1)文件追加,新写入的命令都会被追加到redisserver的aof_buf缓冲区里面。 在服务器每一次执行事件循环的时候都会判断是否需要写入同步aof文件 这取决于服务器的配置 appendfsync值 always每一次都阅读全文
posted @ 2017-06-25 03:13 Arlenmbx 阅读(12) 评论(0) 编辑
摘要: redis是一个内存数据库,所有我们需要将他定时存在磁盘上,如果没有开启AOF,那么会生成RDB文件进行存储,其实就是个二进制文件 RBD文件通过SAVE BGSAVE进行创建, SAVE会阻塞服务器进程,如果执行的话,那么client在这个期间发出的请求都不会响应 BGSAVE其实是创建fork出阅读全文
posted @ 2017-06-25 01:38 Arlenmbx 阅读(25) 评论(0) 编辑
摘要: redis server有很多个数据库空间 如下如所示 dbnum表示的是数据库的数量,db指针指向的是一个redisdb数组,默认都是16个,每一个都是一个redisdb结构的数据库,redis client结构里面会有一个redisdb的指针,指向的就是其中的一个数据库 每一个redisdb里面阅读全文
posted @ 2017-06-25 01:00 Arlenmbx 阅读(354) 评论(0) 编辑