道阻且长,行则将至

Scroll Down

Elasticsearch源码解析与优化实战-Elasticsearch介绍

基本概念和原理Elasticsearch是实时的分布式搜索分析引擎,内部使用Lucene做索引与搜索。何谓实时?新增到ES中的数据在1秒后就可以被检索到,这种新增数据对搜索的可见性称为准实时搜索。分布式意味着可以动态调整集群规模,弹性扩容,而这一切操作起来都非常简便,用户甚至不必了解集群原理就可以实

MySQL复制技术

复制技术的演进实际上有两条路线,一条路线为基于数据安全的复制技术演进;另一条路线为基于复制效率的复制技术演进。复制格式概述接触过MySQL的朋友都或多或少地知道,MySQL的复制是基于binlog(二进制日志)实现主从实例之间的数据同步的。binlog的格式可以分为三种,从某种意义上来说,也可以说对

MySQL性能优化

InnoDB存储引擎体系结构结合上图,我们可以看到,InnoDB存储引擎体系结构主要包含如下组件,分为两大部分。1、内存结构Buffer Pool:缓冲池是InnoDB在启动时分配的一个内存区域,用于InnoDB在访问数据时缓存表和索引数据。利用缓冲池,可以合并一些对经常访问的数据的操作,直接从内存

Spring源码解析-bean的加载

容器每个类的作用AliasRegistry:定义对alias的简单增删改等操作SimpleAliasRegistry:主要使用map作为alias的缓存,并对接口AliasRegistry进行实现SingletonBeanRegistry:定义对单例的注册及获取BeanFactory:定义获取bea

Mybatis技术内幕

日志在Java开发中常用的日志框架有Log4j、Log4j2、Apache Commons Log、java.util.logging、slf4j等,这些工具对外的接口不尽相同。为了统一这些工具的接口,Mybatis定义了一套统一的日志接口供上层使用,并为上述常用的日志框架提供了相应的适配器。适配器

设计模式中的六大原则

设计模式中有六大原则:1、单一职责原则:不要存在多于一个导致类变更的原因,简单来说,一个类只负责唯一项职责。2、里氏替换原则:如果对每一个类型为T1的对象t1,都有类型为T2的对象t2,使得以T1定义的所有程序P在所有的对象t1都代换成t2时,程序P的行为没有发生变化,那么类型T2是类型T1的子类型

Redis设计与实现-集群

Redis集群是Redis提供的分布式数据库方案,集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能。节点一个Redis集群通常由多个节点组成,在刚开始的时候,每个节点都是相互独立的,它们都处于一个只包含自己的集群当中,要组建一个真正可工作的集群,我们必须将各个独立的节点连接起

Redis设计与实现-RDB持久化

Redis是一个键值对数据库服务器,服务器中通常包含着任意个非空数据库,而每个非空数据库中又可以包含任意个键值对,为了方便起见,我们将服务器中的非空数据库以及它们的键值对统称为数据库状态。因为Redis是内存数据库,它将自己的数据库状态存储在内存里面,所以如果不想办法将存储在内存中的数据库状态保存到