docker 设计及源码分析】的更多相关文章

一.初识redis 定义 Redis是一个开源的Key-Value数据库,通常被称为数据结构服务器,其值可以是多种常见的数据格式,且读写性能极高,且所有操作都是原子性的. 高性能的主要原因 1.基于内存存储,命令几乎都是操作内存,内存的读写速度非常快. 2.单线程处理网络请求,避免不必要的上下文切换,同时不存在加锁/释放锁等同步操作.[PS:正在运行的redis server肯定不止一个线程,但只有一个线程来处理网络请求] 3.使用多路I/O复用模型(select.poll.epoll),可以高…
一.引言 上一节我们总结了跳跃表的知识,我们知道了有序数组可以用跳跃表实现,也可以用压缩列表来实现,这一篇文章我们来总结一下压缩列表相关的知识. 二.压缩列表简介 定义:压缩列表 ziplist 本质上是一个字节数组,每个元素可以是一个字节数组或一个整数. PS:Redis的有序集合.散列.列表都直接或间接用到了压缩列表. 三.压缩列表的存储结构 我们通过一张图来直观地分析压缩列表的结构: zlbytes :压缩列表的字节长度,占4个字节,因此压缩列表最多有232-1个字节 . zltail :…
一.引言 有序集合在日常开发中相当常见,比如做排名等相关的功能,肯定要用到排序的功能,那么常见底层实现有很多种: 数组 :不便于元素的插入和删除 链表 :查询效率低,需要遍历所有元素 平衡树OR红黑树 :性能高但是实现复杂 所以这里就引出了本文的主角: 跳跃表 :性能堪比红黑树,但实现相对简单得多 二.跳跃表简介 首先,学习跳跃链表我们先要明白一个概念: 有序链表:所有元素以递增或者递减方式有序排列的数据结构,每个节点都有指向下个节点的next指针,最后一个节点的next指针指向NULL. PS…
介绍 简单动态字符串(Simple Dynamic Strings, SDS)是Redis的基本数据结构之一,用于存储字符串和整型数据.它的特点是:方便扩容.二进制安全. 二进制安全 在C语言中,用"\0"表示字符串结束,如果字符串本身有"\0"字符,字符串就会被阶段,即非二进制安全:通过某种手段,避免读写字符串时被截断,则是而二进制安全 结构体设计 SDS的结构体大致为 struct sds { int len; // buf中已占用字节数 int free; /…
一.引言 学习之前先了解几个概念: SDS定义:简单动态字符串,Redis的基本数据结构之一,用于储存字符串和整型数据. 二进制安全:C语言中用"\0"表示字符串结束,如果字符串本身就有这个字符,那么此字符串会被阶段,此时为非二进制安全:若通过某种机制保证读写字符串时不损害其内容,则称为二进制安全. 字节对齐:字节按照一定规则在空间上排列.(不按规则排列有些架构CPU进行访问时会引起错误或者影响读取效率). PS:如4字节对齐的意思是4字节为一个对齐单位,1字节对齐的意思就是连续存放.…
ABP是一套非常优秀的web应用程序架构,适合用来搭建集中式架构的web应用程序. 整个Abp的Infrastructure是以Abp这个package为核心模块(core)+15个模块(module).其中13个依赖于Abp这个核心包.另外两个包(FluentMigration,Web.Resources)相对独立 Abp.AutoMapper: 实现对象之间的自动映射. Abp.EntityFramework:通过EntityFramework实现数据访问层. Abp.FluentMigra…
声明:本文为原创文章,如需转载,请注明来源并保留原文链接Aaron,谢谢! 版本截止到2013.8.24 jQuery官方发布最新的的2.0.3为准 附上每一章的源码注释分析 :https://github.com/JsAaron/jQuery 正在编写的书 - jQuery架构设计与实现 本人在慕课网的教程(完结) jQuery源码解析(架构与依赖模块) 64课时 jQuery源码解析(DOM与核心模块)64课时 jQuery源码分析目录(完结) jQuery源码分析系列(01) : 整体架构…
学习jquery的源码对于提高前端的能力很有帮助,下面的系列是我在网上看到的对jquery2的源码的分析.等有时间了好好研究下.我们知道jquery2开始就不支持IE6-8了,从jquery2的源码中可以学到很多w3c新的标准( 如html5,css3,ECMAScript).原文地址是:http://www.cnblogs.com/aaronjs/p/3279314.html  关于1.x.x版的jquery源码分析系列,本博客也转载了一个地址http://www.cnblogs.com/ja…
文章转自:jQuery源码分析系列-Aaron 版本截止到2013.8.24 jQuery官方发布最新的的2.0.3为准 附上每一章的源码注释分析 :https://github.com/JsAaron/jQuery 正在编写的书 - jQuery架构设计与实现 本人在慕课网的教程(完结) jQuery源码解析(架构与依赖模块) 64课时 jQuery源码解析(DOM与核心模块)64课时 jQuery源码分析目录(完结) jQuery源码分析系列(01) : 整体架构 jQuery源码分析系列(…
SOFABolt 是一个轻量级.高性能.易用的远程通信框架,基于netty4.1,由蚂蚁金服开源. 本系列博客会分析 SOFABolt 的使用姿势,设计方案及详细的源码解析.后续还会分析 SOFABolt 的最佳实践 SOFARPC 的设计和实现 SOFABolt 源码分析1 - 最简使用姿势SOFABolt 源码分析2 - RpcServer 服务端启动设计SOFABolt 源码分析3 - RpcClient 客户端启动设计SOFABolt 源码分析4 - Sync 同步通信方式设计SOFAB…