最近,我想通过redis的源码来学习redis。虽然平时工作中用得不多,不过对redis还是比较感兴趣的,毕竟它的性能是不错的。redis是一个开源的项目,我们可以通过源代码去了解redis。我后面会通过自己的学习,写一些关于redis源码的帖子。帖子的主要内容是分析代码设计,而并不会..
分类:
其他好文 时间:
2016-05-06 02:24:18
阅读次数:
199
最近,我想通过redis的源码来学习redis。虽然平时工作中用得不多,不过对redis还是比较感兴趣的,毕竟它的性能是不错的。redis是一个开源的项目,我们可以通过源代码去了解redis。我后面会通过自己的学习,写一些关于redis源码的帖子。帖子的主要内容是分析代码设计,而并不会..
分类:
其他好文 时间:
2016-05-04 06:42:17
阅读次数:
231
这周事情比较多,原本计划每周写两篇文章的看来是完不成了,今天为大家带来有序集合zset的源码分析。zset的源码主要涉及redis.h和t_zset.c两个文件,我们先来介绍一下zset底层用到的skiplist跳跃表在Redis中的实现,然后重点讲讲zset的存储结构和范围操作的实现。...
分类:
其他好文 时间:
2016-04-29 18:57:18
阅读次数:
282
主从复制过程中,主节点根据从节点发来的命令执行相应的操作。结合上一章中讲解的从节点在主从复制中的流程,本章以及下一篇文章讲解一下主节点在主从复制过程中的流程。
本章主要介绍完全重同步流程。
一:从节点建链和握手
从节点在向主节点发起TCP建链,以及复制握手过程中,主节点一直把从节点当成一个普通的客户端处理。也就是说,不为从节点保存状态,只是收到从节点...
分类:
其他好文 时间:
2016-04-29 18:40:07
阅读次数:
249
今天为大家带来Redis中事务部分的源码分析。Redis的事务机制允许将多个命令当做一个独立的单元运行,主要包括multi、exec、watch、unwatch、discard五个相关命令。 Redis中的事务本文所讲述的内容主要涉及redis.h和multi.c两个源文件,依据惯例,文后会提供注释版的源码。...
分类:
其他好文 时间:
2016-04-29 16:07:11
阅读次数:
224
这周事情比较多,原本计划每周写两篇文章的看来是完不成了,今天为大家带来有序集合zset的源码分析。zset的源码主要涉及redis.h和t_zset.c两个文件,我们先来介绍一下zset底层用到的skiplist跳跃表在Redis中的实现,然后重点讲讲zset的存储结构和范围操作的实现。...
分类:
其他好文 时间:
2016-04-26 21:06:05
阅读次数:
223
主从复制过程中,主节点根据从节点发来的命令执行相应的操作。结合上一章中讲解的从节点在主从复制中的流程,本章以及下一篇文章讲解一下主节点在主从复制过程中的流程。
本章主要介绍完全重同步流程。
一:从节点建链和握手
从节点在向主节点发起TCP建链,以及复制握手过程中,主节点一直把从节点当成一个普通的客户端处理。也就是说,不为从节点保存状态,只是收到从节点...
分类:
其他好文 时间:
2016-04-26 20:54:24
阅读次数:
120
Redis的主从复制功能,可以实现Redis实例的高可用,避免单个Redis 服务器的单点故障,并且可以实现负载均衡。
一:主从复制过程
Redis的复制功能分为同步(sync)和命令传播(commandpropagate)两个操作:
同步操作用于将从节点的数据库状态更新至主节点当前所处的数据库状态;
命令传播操作则用于在主节点的...
分类:
其他好文 时间:
2016-04-17 22:49:12
阅读次数:
274
今天为大家带来Redis五大数据类型之一 -- List的源码分析。Redis中的List类型是一种双向链表结构,其相关操作主要定义在t_list.c文件中。我们从编码方式、迭代器实现和阻塞操作三个方面介绍List。...
分类:
其他好文 时间:
2016-04-16 19:10:53
阅读次数:
238
Redis服务器是典型的一对多服务器程序,通过使用由IO多路复用技术实现的文件事件处理器,Redis服务器使用单线程单进程的方式来处理命令请求,并与多个客户端进行网络通信。
Redis客户端与服务器之间通过TCP协议进行通信。TCP协议是一种流式协议,数据以字节流的形式进行传递,没有固有的"报文"或"报文边界"的概念,如果需要设置边界,需要应用层自行处理。
...
分类:
其他好文 时间:
2016-04-10 14:57:48
阅读次数:
206