自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 使用Hugo将个人博客搭建到Github上

刚开始搭建完大概长这样话不多说,现在开始搭建安装Hugo在Hugo里找到对应版本下载安装,我的主机是deepin,选择Linux64位的dep包查看版本信息,显示以下即安装成功:$ hugo versionHugo Static Site Generator v0.49 linux/amd64 BuildDate: 2018-09-24T10:03:17Z创建新网站$ hugo ...

2018-09-27 13:22:45 728 1

原创 快速了解C++11新特性

C++11新特性nullptrnullptr用来表示一个指针指向所谓的no valueC++保证NULL其实就是0(其类型可以使int也可以是long)C语言中的NULL通常定义为(void*)0,这在C++中并不明确,NULL必须是个整数类型,否则你无法将NULL赋值给一个指针。这是因为C++中并没有定义从void*到任何其他类型的自动类型转换操作。从C++11开始应该使用nullp...

2018-09-25 19:46:41 171

原创 五分钟了解什么是Google文件系统(GFS)?

引子以前有人问过我C++的.h文件和.cpp文件的组织方式,当时很随口的回答,.h中是类的声明,.cpp中是类的实现。最近要实现简单二叉树结构,所以用到队列类,我以queue.h,queue.cpp,最后用main.cpp作为测试文件,queue.cpp中#include “queue.h”,并在main.cpp中#include “queue.h”,想来这是常规的文件组织方式,不会错的。结...

2018-09-18 13:02:45 7743

原创 《Linux高性能服务器》附带项目springsnil源码解析

源码地址安装及使用下载源码:git clone https://github.com/liu-jianhao/springsnail.git然后进入springsnil目录直接make即可生成可执行文件填写配置文件,我测试的是网站是网易云音乐,首先我先看看网易云音乐服务器的ip有哪几个:$ nslookup music.163.comServer: ...

2018-09-13 22:02:29 1231

原创 Google leveldb学习笔记一:基本架构与安装使用

简介LevelDB是一个Google编写的快速键值存储库,它提供从字符串键到字符串值的有序映射。基本架构LSM树存储引擎先说什么是存储引擎:存储引擎是存储系统的发动机,直接决定了存储系统能够提供的性能和功能存储系统的基本功能包括:增删读改,读取操作又可以分为随机读取和顺序扫描哈希存储引擎是哈希表的持久化表现,不支持顺序扫描,对应的存储系统为键值存储系统B-Tree...

2018-09-10 21:24:23 817

原创 什么是分布式存储系统?

分布式存储系统定义分布式存储系统是大量普通PC服务器通过Internet互联,对外作为一个整体提供存储服务特性可扩展低成本高性能易用挑战分布式存储系统的挑战主要在于数据、状态信息的持久化,要求在自动迁移、自动容错、并发读写的过程中保证数据的一致性。分布式存储涉及的技术主要来自两个领域:分布式系统以及数据库。 + 数据分布 + 一致性 + 容错 + 负载均衡...

2018-09-09 10:03:22 6537

原创 什么是数据库系统?

数据库系统数据库满足的五条规则允许用户使用专门的数据定义语言创建新的数据库并指定其模式给予用户使用适当的语言来查询数据和修改数据的能力支持非常大量的数据长期地进行存储,允许高效地存储数据以进行查询和数据库修改使数据具有持久性,即能从故障、多种类型的错误或者故意滥用中进行恢复控制多个用户同时对数据进行访问,不允许用户间有不恰当的相互影响(孤立性),并且不会发生在数据上进行了部分的而...

2018-09-08 23:51:22 3720

原创 分布式实时处理系统Hurricane的架构

Hurricane总体架构图各部件介绍Spout是消息源,拓扑结构中所有的数据都来自消息源,而消息源也是拓扑结构中消息流的源头。Bolt是消息处理单元,负责接收来自消息源或数据处理单元的数据 流,并对数据进行逻辑处理,然后转发到下一个消息处理单元,基本封装了所有的数据处理逻辑。SpoutExecutor是一个线程,是所有消息源的执行者,每一个SpoutExecutor负责执行一...

2018-09-08 21:20:07 1065

原创 《Redis 设计与实现》第二版读书笔记之压缩列表

简介压缩列表是列表键和哈希键的底层实现之一。压缩列表的构成压缩列表是Redis为了节约内存而开发,是由一系列特殊编码的连续内存块组成的顺序型数据结构。一个压缩列表可以包含任意多个节点,每个节点可以保存一个字节数组或者一个整数值...

2018-09-08 21:09:07 151

原创 《Redis 设计与实现》第二版读书笔记之整数集合

简介整数集合是集合键的底层实现之一,当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现实现整数集合是Redis用于保存整数值的集合抽象数据结构,它可以保存类型为int16_t、int32_t、int64_t的整数值,并且保证集合中不会出现重复元素。 intset.h/intsettypedef struct intset {...

2018-09-03 20:42:34 188

原创 用Go语言解释什么是RPC

简介远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。Go语言使用RPC...

2018-09-02 12:54:48 435

原创 《Redis 设计与实现》第二版读书笔记之跳跃表

跳跃表简介跳跃表是一种有序的数据结构,他通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。跳跃表支持平均O(logN)、最坏O(N)复杂度的节点查找,还可以通过顺序性操作来批量处理节点Redis使用跳跃表作为有序集合键的底层实现之一,如果有序集合包含的元素数量比较多,又或者有序集合中元素的成员是比较长的字符串,Redis就会使用跳跃表作为有序集合键的地底层实现...

2018-09-02 11:43:16 142

原创 CMU 15-445(2018 Fall) 数据库系统(一)

视频教程:https://www.bilibili.com/video/av30851650pdf:https://15445.courses.cs.cmu.edu/fall2018/slides/01-introduction.pdf

2018-09-01 11:03:32 4263

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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