men_wen的博客

脚踏实地,坚定不移,独立思想,自由精神

排序:
默认
按更新时间
按访问量

Redis 3.2.8源码剖析和注释系列文章地址归总

Redis 3.2.8源码剖析和注释redis 3.2.8 源码详细注释地址 文章地址 文件名称 Redis源码剖析和注释(一)— 链表结构 adlist.c 和 adlist.h Redis源码剖析和注释(二)— 简单动态字符串 sds.c 和 sds.h Redis...

2017-07-21 17:15:59

阅读数:4008

评论数:6

简单Makefile编写教程

Makefile编写1. make和Makefile的介绍1.1 make工具利用make工具可以自动完成编译工作。这些工作包括: 如果仅仅修改了某几个源文件,则只重新编译这几个源文件; 如果某个头文件被修改,则重新编译所有包含该头文件的源文件。 利用这种自动编译可大大简化开发工作,避免不必要的重...

2017-07-18 10:11:12

阅读数:790

评论数:0

gdb 调试工具 --- 使用方法浅析

gdb 调试工具使用方法浅析1. 什么是gdbgdb是GNU debugger的缩写,是编程调试工具。2. gdb的功能 启动程序,可以按照用户自定义的要求随心所欲的运行程序。 可让被调试的程序在用户所指定的调试断点处停住(断点可以是条件表达式)。 当程序停住时,可以检查此时程序中所发生的事。比如...

2017-07-17 10:37:58

阅读数:574

评论数:0

gcc 编译工具(下)--- 外部库、共享库、静态库、动态库

gcc 编译工具(下)— 外部库、共享库、静态库、动态库1. 头文件与库文件 在使用C语言和其他语言进行程序设计时,需要头文件来提供对常数的定义和对系统及函数调用的声明。 库文件是一些预先编译好的函数集合,那些函数都是按照可重用原则编写的。他们通常有一组互相关联的用来完成某项常见工作的函数构成。比...

2017-07-16 15:17:34

阅读数:894

评论数:0

gcc 编译工具(上)--- 编译过程和原理浅析

gcc 编译工具(上)— 编译过程和原理浅析1. 什么是gcc gcc(GNU C Compiler)编译器的作者是Richard Stallman,也是GNU项目的奠基者。 gcc是GNU Compiler Collection的缩写。最初是作为C语言的编译器,现在已经支持多种语言了,如C、C+...

2017-07-16 12:53:58

阅读数:614

评论数:0

C++ 模板模板参数

C++ 模板模板参数1. 模板模板参数C++模板的使用一共有以下几种情况。 函数模板 类模板 模板参数 成员模板 而本篇介绍模板模板参数。模板参数就是模板的参数,我们一般指定为T类型,实际上可以使用任何的名字,例如指定一个Foo的模板参数:temlate<typename Foo> F...

2017-07-01 10:43:59

阅读数:3037

评论数:0

C++ 类型转换函数 与 explicit

类型转换函数 与 explicit1. 类型转换函数在C++中,可以使用构造函数将一个指定类型的数据转换为类的对象,也可以使用类型转换函数 (type conversion function)将一个类对象转换为其他类型的数据。我们直接通过一个简单的代码介绍转换函数:#include <ios...

2017-06-29 11:41:44

阅读数:1168

评论数:0

Redis源码剖析和注释(二十八)--- Redis 事务实现和乐观锁

Redis 事务实现和乐观锁1. 事务的介绍Redis事务(transaction)提供了以下五个命令,用于用户操作事务功能,其分别是: 命令 功能 MULTI 标记一个事务块的开始 DISCARD 放弃执行事务 EXEC 执行事务中的所有命令 WATCH 监...

2017-06-16 21:37:54

阅读数:1416

评论数:0

Redis源码剖析和注释(二十七)--- Redis 故障转移流程和原理剖析

Redis 故障转移流程和原理1. 故障转移介绍Redis集群自身实现了高可用。高可用首先要解决集群部分失败的场景:当集群内少量节点出现故障时通过自动故障转移保证集群可以正常对外提供服务。接下来就介绍故障转移的细节,分析故障检测和故障转移。 故障检测 故障转移 Redis Cluster文件详细注...

2017-06-12 22:08:15

阅读数:1506

评论数:0

Redis源码剖析和注释(二十六)--- Redis 集群伸缩原理源码剖析

Redis Cluster 集群伸缩原理源码剖析1. Redis 集群伸缩教程Redis提供了灵活的节点扩容和收缩方案。在不影响集群对外服务的情况下,可以为集群添加节点进行扩容也可以对下线节点进行缩容。如何进行Redis Cluster的伸缩,请参考 Redis Cluster 集群扩容与收缩 本...

2017-06-09 16:08:38

阅读数:1516

评论数:0

Redis 学习笔记(十五)Redis Cluster 集群扩容与收缩

Redis Cluster 集群伸缩1. 伸缩原理Redis提供了灵活的节点扩容和收缩方案。在不影响集群对外服务的情况下,可以为集群添加节点进行扩容也可以对下线节点进行缩容。我们在Redis Cluster 介绍与搭建这篇文章中搭建了一个三主三从的Redis集群(如下图所示)。在搭建 Redis ...

2017-06-07 10:02:44

阅读数:11367

评论数:1

Redis源码剖析和注释(二十五)--- Redis Cluster 的通信流程深入剖析(载入配置文件、节点握手、分配槽)

Redis Cluster 通信流程深入剖析1. Redis Cluster 介绍和搭建请查看这篇博客:Redis Cluster 介绍与搭建这篇博客会介绍Redis Cluster的数据分区理论和一个三主三从集群的搭建。Redis Cluster文件详细注释 本文会详细剖析搭建 Redis C...

2017-06-05 21:30:30

阅读数:4575

评论数:3

Redis 学习笔记(十四)Redis Cluster介绍与搭建

Redis Cluster 介绍与搭建1. Redis Cluster介绍Redis Cluster是Redis的分布式解决方案,在Redis 3.0版本正式推出的,有效解决了Redis分布式方面的需求。当遇到单机内存、并发、流量等瓶颈时,可以采用Cluster架构达到负载均衡的目的。1.1 数据...

2017-06-03 16:58:33

阅读数:23835

评论数:2

Redis源码剖析和注释(二十四)--- Redis Sentinel实现(哨兵操作的深入剖析)

Redis Sentinel实现(下)本文是Redis Sentinel实现(上)篇文章的下半部分剖析。主要剖析以下内容:4. 哨兵的使命Redis Sentinel实现下 哨兵的使命 1 周期性的操作 11 建立连接 12 发送监控命令 13 判断节点的主观下线状态 14 判断主节点的客观下线状...

2017-05-29 23:47:49

阅读数:2011

评论数:0

Redis源码剖析和注释(二十三)--- Redis Sentinel实现(哨兵的执行过程和执行的内容)

Redis Sentinel实现(上)1. Redis Sentinel 介绍和部署请参考Redis Sentinel 介绍与部署sentinel.c文件详细注释:Redis Sentinel详细注释本文会分为两篇分别接受Redis Sentinel的实现,本篇主要将Redis哨兵的执行过程和执行...

2017-05-29 23:37:56

阅读数:2662

评论数:0

Redis 学习笔记(十三)Redis Sentinel 介绍与部署

Redis Sentinel 介绍与部署1. Sentinel介绍1.1 主从复制的问题Redis主从复制可将主节点数据同步给从节点,从节点此时有两个作用: 一旦主节点宕机,从节点作为主节点的备份可以随时顶上来。 扩展主节点的读能力,分担主节点读压力。 但是问题来了: 一旦主节点宕机,从节点晋升成...

2017-05-25 12:52:44

阅读数:23904

评论数:9

Redis源码剖析和注释(二十二)--- Redis 复制(replicate)源码详细解析

Redis 复制(replicate)实现1. 复制的介绍Redis为了解决单点数据库问题,会把数据复制多个副本部署到其他节点上,通过复制,实现Redis的高可用性,实现对数据的冗余备份,保证数据和服务的高度可靠性。关于复制的详细配置和如何建立复制,请参考:Redis 复制功能详解 。Redis ...

2017-05-22 17:43:22

阅读数:2989

评论数:3

Redis 学习笔记(十二)Redis 复制功能详解

Redis 复制(Replication)1. 复制介绍分布式数据库为了获取更大的存储容量和更高的并发访问量,会将原来集中式数据库中的数据分散存储到多个通过网络连接的数据存储节点上。Redis为了解决单点数据库问题,会把数据复制多个副本部署到其他节点上,通过复制,实现Redis的高可用性,实现对数...

2017-05-20 23:24:45

阅读数:3989

评论数:0

Redis源码剖析和注释(二十一)--- 单机服务器实现

Redis 单机服务器实现1. Redis 服务器Redis服务器负责与客户端建立网络连接,处理发送的命令请求,在数据库中保存客户端执行命令所产生的数据,并且通过一系列资源管理措施来维持服务器自身的正常运转。本次主要剖析server.c文件,本文主要介绍Redis服务器的一下几个实现: 命令的执行...

2017-05-18 00:15:40

阅读数:1874

评论数:0

Redis源码剖析和注释(二十)--- 网络连接库剖析(client的创建/释放、命令接收/回复、Redis通信协议分析等)

Redis 网络连接库剖析1. Redis网络连接库介绍Redis网络连接库对应的文件是networking.c。这个文件主要负责 客户端的创建与释放 命令接收与命令回复 Redis通信协议分析 CLIENT 命令的实现 我们接下来就这几块内容分别列出源码,进行剖析。2. 客户端的创建与释放red...

2017-05-14 23:25:18

阅读数:2681

评论数:2

提示
确定要删除当前文章?
取消 删除
关闭
关闭