实体类映射es索引 import cn.easyes.annotation.IndexField; impor […]
A,B,C三个字段组成联合索引,AB,AC,BC三种情况下查询是否能命中索引
一、联合索引的命中原理 当创建联合索引 (A, B, C) 时,MySQL 会按照以下规则构建索引: 索引排序 […]
如何用explain分析sql语句
explain语句是MySQL用于分析 SQL 查询的工具,其核心用途是为了: 优化查询性能 诊断索引失效问题 […]
HashMap链表转红黑树源码解读
一、触发链表转红黑树的条件(以 Java 8 的 HashMap 为例) 链表长度阈值:当链表长度达到 8 时 […]
wordpress导出转md文件
首先官网安装node.js 地址:node.js 安装后查询是否安装成功以及版本: 下载wordpress-e […]
sensitive脱敏框架
依赖 脱敏包
binlog+canal实现es数据增量更新
Canal 是阿里巴巴开源的一个基于 MySQL 二进制日志(Binlog)的增量数据订阅和消费组件,借助它可 […]
ES和mysql的数据一致性保证
实时同步 双写 当对数据库进行数据的增删改操作时,同时对 ES 进行相同的操作,并把两个操作放到一个事务中。 […]
基于 ElasticSearch 的search_after解决深分页问题
在Elasticsearch中进行分页查询通常使用from和size参数。当我们对Elasticsearch发 […]
ElasticSearch中倒排索引的解析
倒排索引的结构与传统的索引结构相反,传统的索引结构是由文档构成的,每个文档包含了若干个词汇,然后根据这些词汇建 […]
ElasticSearch和Easy-ES的接入
ElasticSearch 依赖
sql语句中like的性能优化
在MySQL中,使用like进行模糊查询,在一定情况下是无法使用索引的。 比如like ‘%abc’ like […]
sql语句中的join优化
join的性能问题 MySQL是使用了嵌套循环(Nested-Loop Join)的方式来实现关联查询的,简单 […]
mysql索引的原理
MySQL 索引的实现原理主要依赖于特定的数据结构来组织和存储索引数据,以提高数据查询的效率。常见的索引数据结 […]
mysql解决大数据量的深度分页问题
假设有一个包含数百万条记录的表,想通过分页的方式来展示这些数据。当用户请求第10000页数据时,假设pageS […]
Redisson使用布隆过滤器
布隆过滤器是一种数据结构,用于快速检索一个元素是否可能存在于一个集合(bit 数组)中。它的基本原理是利用多个 […]
如何解决Redis和数据库的一致性问题
Redis和数据库的一致性问题,一般有以下几种方案。 一、先更新数据库, 再删除缓存 先更新数据库,再删除缓存 […]
Redis过期策略
Redis的过期策略有三种。 定时过期 原理:为每个设置了过期时间的键都创建一个定时器,当键的过期时间到达时, […]
Redis缓存穿透、击穿和雪崩
缓存穿透 问题描述:指客户端请求的数据在缓存和数据库中都不存在,这样每次请求都会穿透缓存直接访问数据库,导致数 […]
Redis持久化原理
Redis 持久化是指将 Redis 内存中的数据保存到硬盘等持久化存储介质中,以便在 Redis 服务器重启 […]
Redis集群模式详解
Redis有三种主要的集群模式,用于在分布式环境中实现高可用性和数据复制。这些集群模式分别是:主从复制(Mas […]
redis基础操作
在Java中,一般使用jedis操作redis: import redis.clients.jedis.Jed […]
CAP理论的解释
网上有很多关于CAP的介绍,但其实实际上有很多曲解,特别是一致性的描述。 wiki百科上,关于CAP的解释是: […]
Sa-Token的用户统一鉴权开发
引入依赖
Redisson接入和使用
引入依赖
Redis和Redisson接入
Redis的接入和使用 Redis 引入依赖
基于Mockito的Java测试框架
Mockito是一款用于java开发的mock测试框架,当测试中需要模拟外部数据时,Mockito 可以帮助我 […]
使用H2内存数据库执行单元测试
单元测试目的 发现代码中的错误:在编写代码时,程序员可能会引入各种逻辑错误、边界条件处理不当等问题。通过编写单 […]
Centos7安装Docker & DokcerCompose
下载docker-ce的yum源: sudo wget -O /etc/yum.repos.d/docker- […]
Centos7配置网络并连接SSH
配置虚拟机连接方式 设置NAT连接方式 子网ip设置为192.168.130.0。不一定是130.0,可以自定 […]
centos7使用 yum 工具报错
使用 yum 工具时,出现 “Could not resolve host: mirrorlist […]
Centos命令 sudo wget:找不到命令
sudo: wget:找不到命令 执行命令: yum -y install wget
HashMap详解
结构上,底层使用数组+单向链表+红黑树的结构,节点数大于8时会转为红黑树,节点数小于6时会转为单向链表。 首先 […]
Concurrent包(二):深入ReentrantLock
ReentrantLock简介 ReentrantLock表示重入锁,它是唯一一个实现了 Lock 接口的类。 […]
Concurrent包(一):深入AQS
Concurrent包(一):深入AQS concurrent包 Java.util.concurrent 是 […]
神奇的0x61c88647——浅析ThreadLocal
0x61c88647的特点 这个数是Integer有符号整数的0.618倍,既黄金比例,斐波拉契数列。使用这个 […]
可见性问题:Volatile的本质
什么是可见性问题 在单线程的环境下,如果向一个变量先写入一个值,在没有写干涉的情况下读取这个变量的值,此时读取 […]
synchronized:关于锁的原理
Java中的同步锁synchronized synchronized的基本用法 根据修饰的对象 修饰实例方法: […]
线程基础和使用
线程的生命周期(来源《JAVA并发编程的艺术》) 创建线程的方式 1、继承Thread类 public cla […]
Spring事务原理
首先得知道程序是如何连接数据库的? DataSource封装了Connection,Connection封装了 […]
Spring源码阅读(四):MVC实现原理
MVC实现原理 流程: 一个request由DispatcherServlet接收到,根据请求的url去han […]
Spring源码阅读(三):AOP实现原理
AOP实现原理 1、切面(Aspect):面向规则,具有相同规则的方法的集合体。 2、通知(Advice):回 […]
Spring源码阅读(二):DI实现原理
DI实现原理 首先明确一点,DI的过程是从getBean()开始的,因为Spring是懒加载的(lazy),也 […]
Spring源码阅读(一):IoC实现原理
IoC实现原理 IoC容器初始化过程 定位:定位配置文件和扫描相关的注解; 加载:将配置信息载入到内存中; 注 […]
虚拟机安装CentOS以及服务器环境配置(下)
虚拟机安装CentOS以及服务器环境配置(下) 安装Java 8 在安装jdk之前,先推荐一款我觉得非常好用的 […]
虚拟机安装CentOS以及服务器环境配置(上)
虚拟机安装CentOS以及服务器环境配置(上) 首先下载centos7的镜像:链接。 用的阿里云下载minim […]
阿里云OSS,9元自建图床
阿里云OSS自建图床 今天偶然发现阿里云OSS便宜的只要9元! 一直想用七牛云来着,毕竟10GB以内免费,但是 […]