ElasticSearch基础&查询


ElasticSearch 基本概念 集群 Es集群的特点:多个ES服务器可以组成集群存储大量的数据,并提供相关的服务 高可用性 (服务可用性、数据可用性) 可扩展性 并发量提高、数据量增多的时候,可以增加节点来直接解决。 集群状态 ES将索引和集群的健康情况都做了以下三种状态的区别,每个索引或者集

ElasticSearch进阶查询


组合查询 在上面之中我们学习到了 match 和 term 进行查询的时候,只介绍了单个 api 做一个简单的查询效果,没有提供组合查询的效果的效果。 Bool Query,布尔查询效果,可以组合多过滤语句来帮助我们过滤文档。 Boosting Query,通过 positive 块指定匹配文档的评

ES存储 & 搜索原理


ES索引 倒排索引的实现 问题 倒排索引的实现问题,涉及到存储、快速定位词项本身、词项匹配文档数 分词形成的词项(term)可能是海量的,需要可以在内存和磁盘上高效存储; 既然词项是海量的,那么如何快速找到对应的词项也是个问题; 每个词项对应的文档数可能非常多,也就是上图中文档列表的链表很长; 在词

ElasticSearch集群问题&原理


ElasticSearch搭建集群 构建集群的节点 部署的时候集群节点无非就两种,一种是计算机 / 服务的数量不够,通过单个节点承担多个角色的方式来搭建索引;另外一种就是让单个节点承担单个角色。 对于第一种的情况其实没啥好介绍的,看着来就行了,毕竟资源受限最多也就只能那样了;而针对第二个情况,在资源

数据库资源卡顿查询SQL


Mysql 查询某个时间段内数据库执行记录之中,SQL性能、内存消耗、定时器等待时间、索引情况、排序情况等信息的SQL SELECT SCHEMA_NAME AS '模式名', DIGEST_TEXT AS '查询文本', QUERY_SAMPLE_TEXT AS '简易查询文本

多线程使用 - Async+CompletableFuture


多线程 Async @Async(value = “指定自定义Bean线程池”) [根据不同的业务可以使用不同的线程池来做异步处理] 如果不指明使用的线程池,在SpringBoot 2.1.0之前默认使用的是SimpleAsyncTaskExecutor [一次性的异步执行器] 会随着请求数量的增加

MVCC


MVCC 前排提醒,该笔记其实已经过时,有一个更新的对MVCC机制和相关Mysql技术介绍更加完整的个人笔记,如有需要请参考Mysql - Innodb 隔离级别的实现 (MVCC、锁机制) - LeticiaFENG Note 如还要参看一下笔记请注意,仅供参考且只涉及MVCC MVCC技术主要涉

基于Redis的幂等实现方案 Demo


接口请求幂等唯一性 web项目暴露接口在前端页面的时候,在前端页面进行使用的时候,无可避免的会出现重复请求 / 恶意请求消耗服务器资源的情况。毕竟你没办法保证网络上的每个人都像个人。 除了需要保证接口请求的幂等性以外,我们还要需要对某些特殊的接口做一定的限制,这些限制的使用场景如下:特别是现在的服务

常见的设计模式


概述 本笔记主要记载笔者自身比较常见的设计模式。如果要查其他的请自行跳转搜索引擎。 该笔记目前包含以下设计模式的介绍: 创建型的:单例、原型、工厂(简单工厂、工厂方法、抽象工厂) 结构性的:代理、外观 行为型的:责任链、迭代器、模板、策略 创建型模式 单例模式 单例模式的核心是保证在程序之中唯一的创

枚举类


概述 枚举类就是Java之中一种特殊的类,它具有固定的实例数量,在编译阶段就已经固定,而无法在运行阶段改变的类,并且枚举类往往会只具有一些固定的取值,所以往往很适合充当状态码类型的类。然而因为枚举类的特殊性,所以枚举类除了以上的描述以外还在单例模式的创建下有着重要的作用(最好的单例模式实现方法) 解