【Redis笔记(五)】 Redis数据结构 - set集合 今天到了我们Redis学习笔记的第五篇,今天我们来介绍set集合数据结构。set类型介绍和C++或Java编程语言中的set类型一样,Redis中的set类型也是一种无序集合。
【Redis笔记(四)】 Redis数据结构 - list链表 经过前面的介绍,我们学习了Redis中string字符串、hash哈希这两种数据结构的常用命令。这篇文章将介绍Redis中的list – 列表的相关操作。
【Redis源码剖析】 - Reids内置数据结构之整数集合intset 原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51124203Redis源码剖析系列文章汇总:传送门今天我们来介绍Redis中一个比较简单的内置数据结构 – 整数集合intset。1、intset存储结构整数集合,顾名思义,就是存储一系列整数的集合。在Redis中,intset结构体的定义如下:/* ...
【Redis笔记(七)】 Redis中的事务 原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50675302在【Redis学习笔记】前面几篇文章中,我们简单介绍了Redis中的五种数据结构相关的命令,今天,我们来介绍一下Redis中的事务Transaction。一、什么是事务如果你之前接触过MySQL、Oracle等数据库,一定听说过“事务”的概念。所谓...
【C++拾遗】 从内存布局看C++虚继承的实现原理 准备工作1、VS2012使用命令行选项查看对象的内存布局微软的Visual Studio提供给用户显示C++对象在内存中的布局的选项:/d1reportSingleClassLayout。使用方法很简单,直接在[工具(T)]选项下找到“Visual Studio命令提示(C)”后点击即可。切换到cpp文件所在目录下输入如下的命令即可 c1 [filename].cpp
Flink Checkpoint机制分析 原创作品,转载请标明:http://blog.csdn.net/xiejingfa/article/details/51644390可靠性是分布式系统实现必须考虑的因素之一。Flink基于Chandy-Lamport分布式快照算法实现了一套可靠的Checkpoint机制,可以保证集群中某些节点出现故障时,能够将整个作业恢复到故障之前某个状态。同时,Checkpoint机制也是Flink实现Exa...
【Redis源码剖析】 - Redis持久化之AOF 原创作品,转载请标明:http://blog.csdn.net/xiejingfa/article/details/51644390Redis源码剖析系列文章汇总:传送门Redis提供了两种持久化方法:RDB和AOF。在前面一篇文章中我们已经介绍过RDB持久化机制,今天我们来看看AOF持久化方法。本文主要涉及aof.c文件。在前面一篇文章中,我们看到RDB持久化实际上就是把Redi...
【Redis源码剖析】 - Redis持久化之RDB 原创作品,转载请标明:http://blog.csdn.net/xiejingfa/article/details/51553370Redis源码剖析系列文章汇总:传送门Redis是一个高效的内存数据库,所有的数据都存放在内存中。我们知道,内存中的信息会随着进程的退出或机器的宕机而消失。为此,Redis提供了两种持久化机制:RDB和AOF。这两种持久化方式的原理实际上就是把内存中所有数据的...
【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对...
【Redis源码剖析】 - Redis之数据库redisDb 原创作品,转载请标明:http://blog.csdn.net/xiejingfa/article/details/51321282Redis源码剖析系列文章汇总:传送门今天,我们来讨论两点内容:一是Redis是如何存储类型对象的,二是Redis如何实现键的过期操作。本文介绍的内容主要涉及db.c和redis.h两个文件。1、redisDb介绍Redis中存在“数据库”的概...
【Redis源码剖析】 - Redis之事务的实现原理 原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51262268Redis源码剖析系列文章汇总:传送门今天为大家带来Redis中事务部分的源码分析。Redis的事务机制允许将多个命令当做一个独立的单元运行,主要包括multi、exec、watch、unwatch、discard五个相关命令。如果你还不熟悉这几个命令,可以先...
【Redis源码剖析】 - Redis数据类型之有序集合zset 原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51231967Redis源码剖析系列文章汇总:传送门这周事情比较多,原本计划每周写两篇文章的任务看来是完不成了。今天为大家带来有序集合zset的源码分析。Redis中的zset主要支持以下命令:zadd、zincrby zrem、zremrangebyrank、...
【Redis源码剖析】 - Redis数据类型之列表List 原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51166709Redis源码剖析系列文章汇总:传送门今天为大家带来Redis五大数据类型之一 – List的源码分析。Redis中的List类型是一种双向链表结构,主要支持以下几种命令:lpush、rpush、lpushx、rpushx lpop、rpop、...
【Redis源码剖析】 - Redis数据类型之redisObject 原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51140041Redis源码剖析系列文章汇总:传送门在前面六篇文章中,我们逐一分析了字符串sds、双向链表list、字典dict、压缩列表ziplist、压缩字典zipmap、整数集合inset这几种Redis内置数据结构的源码实现(实际上还有一种称作skiplist的结构...
【Redis源码剖析】 - Redis内置数据结构之压缩字典zipmap 原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51111230Redis源码剖析系列文章汇总:传送门今天为大家带来Redis中zipmap数据结构的分析,该结构定义在zipmap.h和zipmap.c文件中。我把zipmap称作“压缩字典”(不知道这样称呼正不正确)是因为zipmap利用字符串实现了一个简单的hash_t...
【Redis源码剖析】 - Redis内置数据结构之压缩列表ziplist Redis提供了一种称作ziplist的数据结构,称作压缩列表。ziplist使用一串字符串来实现双向链表结构。与list结构相比,ziplist可以减少存储空间(主要是节省了链表指针的存储空间开销),ziplist在实现上并不存储上指向上一个链表节点和指向下一个链表节点的指针,而转为存储上一个节点长度和当前节点长度从而在大多数情况下节省很多空间开销。
【Redis源码剖析】 - Redis内置数据结构之字典dict 原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/51018337Redis源码剖析系列文章汇总:传送门今天我们来讲讲Redis中的哈希表。哈希表在C++中对应的是map数据结构,但在Redis中称作dict(字典)。Redis只是用了几个简单的结构体和几种常见的哈希算法就实现了一个简单的类似高级语言中的map结构。下面我们...
【Redis源码剖析】 - Redis内置数据结构之双向链表list 原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50938028Redis源码剖析系列文章汇总:传送门在《Redis学习笔记》系列的前面几篇文章中,我们分别讲述了Redis的几种常用数据结构(分别是string、hash、list、set、zset)和事务处理。在接下来的文章中,我们就要深入到Redis的源码层,了解Red...
【Linux进程间通信】 - 消息队列 今天我们来介绍一下如何使用消息队列来进行进程间通信。1、消息队列消息队列是由内核维护的一种链式结构。链表中每一个记录又称作消息,消息具有特定的格式和优先级别。各个进程通过消息队列标识符来引用消息队列,这样,写进程叫可以按照一定的规则添加新的消息,读进程可以按一定的规则取走消息(具体按什么规则我们稍后讨论)。和前面介绍的共享内存和信号量一样,消息队列是随内核持续的,也就是说我们使用完毕后需要显式删除。