旋转柚子

Welcome~

by Lebin

Redis底层数据结构分析

Redis是一款使用广泛的开源的内存数据库,性能优异,官方单机读写QPS接近10W,那么Redis是如何做到的,除了优秀的架构,底层数据结构的优化也起到了很大的作用,本文就分析下Redis的底层数据结构是如何设计的。首先,Redis常用的数据类型有字符串、哈希表、列...

深入理解TCP协议下

上篇文章《深入理解TCP协议上》,我们探讨了TCP协议的首部以及在抓包工具下看到的TCP传输。这篇文章将围绕TCP的各种特性进行讨论。首先,我们需要知道为什么TCP提供的服务是可靠的,这便与它拥有的特性息息相关。罗列如下:一、确认应答(ACK): 确认应答从...

深入理解TCP协议上

在网络传输的世界里, TCP/IP协议族提供了很多服务支撑,这其中TCP协议尤为重要,它提供了可靠的字节流传输服务。当我们使用HTTP访问网页,或者使用WebSocket与服务端建立持久连接,再或者与远程服务器上的服务如MySQL,Redis建立连接时都将建立在TCP协议之上,...

《图解HTTP》读书笔记

首先奉上该书的PDF:《图解HTTP》协议简介:计算机与网络设备要相互通信,双方就必须基于相同的方法。比如,如何探测到通信目标、由哪一边先发起通信、使用哪种语言进行通信、怎样结束通信等规则都需要事先确定。不同的硬件、操作系统之间的通信,所有的这一...

MySQL中索引应用浅析

在了解了索引实现原理之后,本文将来讨论索引在MySQL中的种类与应用。在MySQL中,在创建表的时候要指定表的存储引擎(关于MySQL的存储引擎的介绍见文章《MySQL存储引擎浅析》),MySQL中广泛使用的存储引擎有两种:MyISAM和InnoDB,这两种存储引擎均支持B树索...

索引实现原理浅析

文章正式开始之前,我们来简单介绍下什么是索引,以及我们为什么会用到索引优化我们的数据库查询。首先我们要对一个查询的基本流程简单了解,当我们输入一个SQL进行查询的时候,那么数据库管理系统(DBMS)将经过如下流程:如上图所示,在查询优化的这一步中DB...

探讨程序设计语言中的异常处理机制的由来

这篇文章主要讲讲程序的异常处理机制,结合多种程序设计语言。我们知道,程序在执行时也可能出错,出错时候如何处理很重要。而在程序中错误的处理方法大致分为两种:使用返回值和使用异常(异常处理机制)。除了C语言之外多数的语言都支持异常处理机制。其实...

关系数据库系列文章之数据库的完整性(三)

在前面的文章中我们已经提到过了,想要系统的学习了解数据库要从三个方面入手:数据结构、数据操作、以及数据的完整性。什么是数据的完整性,数据的完整性主要有三个方面:实体、参照、用户自定义。所以数据库完整性也是由这三个部分组成。这些完整性的就是指...

如何在云服务器上搭建SVN,SVN的搭建

Subversion(SVN)是一个开源的版本控制系統,也就是说Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样您就可以把档案恢复到旧的版本,或是浏览文件...

关系数据库系列文章之数据的操作(二)

上个文章探讨了关系数据库的定义,而我们只知道,数据库的组成有三大要素:数据结构、数据操纵、完整性约束。这篇文章将结合SQL了解下数据的操纵。数据操纵:在关系模型中常用的关系操作包括,查询操作和插入、删除、修改操作两大部分。对数据库实现操作的是...