7 Fred^_^

尚未进行身份认证

暂无相关描述

等级
TA的排名 2w+

【Redis源码剖析】 - Redis持久化之AOF

原创作品,转载请标明:http://blog.csdn.net/xiejingfa/article/details/51644390Redis源码剖析系列文章汇总:传送门Redis提供了两种持久化方法:RDB和AOF。在前面一篇文章中我们已经介绍过RDB持久化机制,今天我们来看看AOF持久化方法。本文主要涉及aof.c文件。在前面一篇文章中,我们看到RDB持久化实际上就是把Redi...

2016-06-12 18:24:02

【Redis源码剖析】 - Redis持久化之RDB

原创作品,转载请标明:http://blog.csdn.net/xiejingfa/article/details/51553370Redis源码剖析系列文章汇总:传送门Redis是一个高效的内存数据库,所有的数据都存放在内存中。我们知道,内存中的信息会随着进程的退出或机器的宕机而消失。为此,Redis提供了两种持久化机制:RDB和AOF。这两种持久化方式的原理实际上就是把内存中所有数据的...

2016-06-02 09:50:59

【Redis源码剖析】 - Redis IO操作之rio

原创作品,转载请标明:http://blog.csdn.net/xiejingfa/article/details/51433696Redis源码剖析系列文章汇总:传送门Reids内部封装了一个I/O层,称之为rio。今天我们就来简单介绍一下rio模块的具体实现。本文主要涉及rio.h和rio.c两个文件。1、rio结构体关于文件读写操作和buffer的操作主要基于rio对...

2016-05-17 10:37:25

【Redis源码剖析】 - Redis之数据库redisDb

原创作品,转载请标明:http://blog.csdn.net/xiejingfa/article/details/51321282Redis源码剖析系列文章汇总:传送门今天,我们来讨论两点内容:一是Redis是如何存储类型对象的,二是Redis如何实现键的过期操作。本文介绍的内容主要涉及db.c和redis.h两个文件。1、redisDb介绍Redis中存在“数据库”的概...

2016-05-05 21:38:05

【Redis源码剖析】 - Redis之事务的实现原理

原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51262268Redis源码剖析系列文章汇总:传送门今天为大家带来Redis中事务部分的源码分析。Redis的事务机制允许将多个命令当做一个独立的单元运行,主要包括multi、exec、watch、unwatch、discard五个相关命令。如果你还不熟悉这几个命令,可以先...

2016-04-27 20:03:44

【Redis源码剖析】 - Redis数据类型之有序集合zset

原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51231967Redis源码剖析系列文章汇总:传送门这周事情比较多,原本计划每周写两篇文章的任务看来是完不成了。今天为大家带来有序集合zset的源码分析。Redis中的zset主要支持以下命令:zadd、zincrbyzrem、zremrangebyrank、...

2016-04-24 14:59:55

【Redis源码剖析】 - Redis数据类型之列表List

原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51166709Redis源码剖析系列文章汇总:传送门今天为大家带来Redis五大数据类型之一–List的源码分析。Redis中的List类型是一种双向链表结构,主要支持以下几种命令:lpush、rpush、lpushx、rpushxlpop、rpop、...

2016-04-16 16:30:24

【Redis源码剖析】 - Redis数据类型之redisObject

原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51140041Redis源码剖析系列文章汇总:传送门在前面六篇文章中,我们逐一分析了字符串sds、双向链表list、字典dict、压缩列表ziplist、压缩字典zipmap、整数集合inset这几种Redis内置数据结构的源码实现(实际上还有一种称作skiplist的结构...

2016-04-13 09:54:48

【Redis源码剖析】 - Reids内置数据结构之整数集合intset

原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51124203Redis源码剖析系列文章汇总:传送门今天我们来介绍Redis中一个比较简单的内置数据结构–整数集合intset。1、intset存储结构整数集合,顾名思义,就是存储一系列整数的集合。在Redis中,intset结构体的定义如下:/*...

2016-04-11 18:57:45

【Redis源码剖析】 - Redis内置数据结构之压缩字典zipmap

原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51111230Redis源码剖析系列文章汇总:传送门今天为大家带来Redis中zipmap数据结构的分析,该结构定义在zipmap.h和zipmap.c文件中。我把zipmap称作“压缩字典”(不知道这样称呼正不正确)是因为zipmap利用字符串实现了一个简单的hash_t...

2016-04-10 10:44:41

【Redis源码剖析】 - Redis内置数据结构之压缩列表ziplist

Redis提供了一种称作ziplist的数据结构,称作压缩列表。ziplist使用一串字符串来实现双向链表结构。与list结构相比,ziplist可以减少存储空间(主要是节省了链表指针的存储空间开销),ziplist在实现上并不存储上指向上一个链表节点和指向下一个链表节点的指针,而转为存储上一个节点长度和当前节点长度从而在大多数情况下节省很多空间开销。

2016-04-06 13:53:30

【Redis源码剖析】 - Redis内置数据结构之字典dict

原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51018337Redis源码剖析系列文章汇总:传送门今天我们来讲讲Redis中的哈希表。哈希表在C++中对应的是map数据结构,但在Redis中称作dict(字典)。Redis只是用了几个简单的结构体和几种常见的哈希算法就实现了一个简单的类似高级语言中的map结构。下面我们...

2016-03-30 19:08:01

【Redis源码剖析】 - Redis内置数据结构之字符串sds

今天花了一个晚上的时间分析了Redis中字符串操作的实现,源文件为sds.h和sds.c。

2016-03-28 21:07:56

【Redis源码剖析】 - Redis内置数据结构之双向链表list

原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50938028Redis源码剖析系列文章汇总:传送门在《Redis学习笔记》系列的前面几篇文章中,我们分别讲述了Redis的几种常用数据结构(分别是string、hash、list、set、zset)和事务处理。在接下来的文章中,我们就要深入到Redis的源码层,了解Red...

2016-03-20 19:43:34

【Linux进程间通信】 - 消息队列

今天我们来介绍一下如何使用消息队列来进行进程间通信。1、消息队列消息队列是由内核维护的一种链式结构。链表中每一个记录又称作消息,消息具有特定的格式和优先级别。各个进程通过消息队列标识符来引用消息队列,这样,写进程叫可以按照一定的规则添加新的消息,读进程可以按一定的规则取走消息(具体按什么规则我们稍后讨论)。和前面介绍的共享内存和信号量一样,消息队列是随内核持续的,也就是说我们使用完毕后需要显式删除。

2016-03-19 15:37:09

【Linux进程间通信】 - 信号量

前面我们在介绍共享内存(传送门:【Linux进程间通信】-共享内存)这种进程间通信时方式时提到,使用共享内存通信时需要使用同步机制来控制多个进程对统一内存区的读写操作。今天我们就来讲述一种常用的多进程共同机制–信号量。1、什么是信号量?在多进程环境下,为了防止多个进程同时访问一个公共资源而出现问题,需要一种方法来协调各个进程,保证它们能够合理地使用公共资源。信号量就是这样一种机制。

2016-03-16 17:01:01

【Linux进程间通信】 - 共享内存

今天我们来介绍Linux下最高效的一种进程间通信方式–共享内存。什么是共享内存?顾名思义,共享内存就是两个(或多个)进程共同占有一段内存空间,这些进程可以是有亲缘关系的进程,也可以是完全不相关的进程。同一块物理内存空间被映射到两个进程,两个进程都可以访问这段共享空间从而实现了进程间通信。

2016-03-14 20:54:38

【Linux进程间通信】 - 命名管道FIFO

在前面一篇文章中【Linux进程间通信】-匿名管道中,我们介绍了Linux/Unix系统中最古老的一种进程间通信方式–匿名管道。此外,我们也讲解了匿名管道的几个局限性,特别是匿名管道只能用于父子进程或兄弟进程间,无法在不相关的进程间交换数据。为了克服匿名管道的这个限制,有人又提出了一种称作命名管道(FIFO)的进程间通信方式。今天我们就来介绍一下这种通信手段。

2016-03-08 16:55:44

【Linux进程间通信】 - 匿名管道

进程间通信,英文又称作IPC(InterProcessCommunication)就是在不同的进程之间交换信息。我们知道,进程的用户是相空间互独立的,不能相互访问,所以为了使得进程间可以相互通信,操作系统需要提供一种介质使通信双方都可以访问。今天我们就来介绍一种最古老的进程间通信方式--管道。

2016-03-07 19:16:41

【C++11新特性】 C++11智能指针之weak_ptr

如题,我们今天要讲的是C++11引入的三种智能指针中的最后一个:weak_ptr。在学习weak_ptr之前最好对shared_ptr有所了解。如果你还不知道shared_ptr是何物,可以看看我的另一篇文章【C++11新特性】C++11智能指针之shared_ptr。

2016-03-01 15:42:08

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!