自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 【MySQL】聚簇索引与非聚簇索引

摘要:聚簇索引将索引与数据合并存储,InnoDB自动创建,通常基于主键列,具有快速访问和节省IO的优点,但插入依赖顺序且主键更新代价高。非聚簇索引(二级索引)存储指定列和主键值,查询时需回表操作。联合索引属于非聚簇索引类型。建议使用有序ID作为主键以优化性能。

2025-12-23 10:14:01 238

原创 【MySQL】泛泛而谈之索引的整体结构

摘要:MySQL索引是一种提升查询效率的数据结构,其核心是B+树。索引通过减少磁盘IO和加速查找来提高性能,但也增加了存储空间和维护成本。索引以16KB的页为基本单位存储,通过多级目录页构建层次结构。当数据量增大时,会形成多级B+树结构,使查询从逐页遍历变为高效的范围定位。不过索引会降低数据修改操作的效率,需要权衡使用。

2025-12-23 10:13:32 407

原创 【MySQL】MySQL窗口函数

在 MySQL 8.0 及以后版本中,窗口函数(Window Functions)为数据分析和处理提供了强大的工具。窗口函数允许在查询结果集上执行计算,而不必使用子查询或连接,这使得某些类型的计算更加高效和简洁。

2025-07-04 19:36:01 263

原创 【MySQL】MySQL 索引的设计原则

摘要:索引创建应遵循以下原则:适合创建索引的情况包括具有唯一性约束的字段、频繁查询或排序的列、连接操作字段等;不适合创建索引的情况包括数据量小的表、重复值多的字段、频繁更新的表等。创建索引时要考虑字段类型、区分度和使用频率,避免冗余索引。联合索引优于单列索引,但需注意字段顺序。(150字)

2024-12-26 15:16:45 200

原创 【MySQL】MySQL 8.0的隐藏索引

MySQL 8.0隐藏索引功能摘要 MySQL 8.0引入了隐藏索引功能,解决了早期版本索引删除后无法恢复的问题。隐藏索引允许在不实际删除索引的情况下,使查询优化器忽略该索引。具体操作包括:创建表时指定隐藏索引(invisible关键字)、切换索引可见性(VISIBLE/invisible)、创建新索引时设置可见性。此外,可通过修改optimizer_switch参数(use_invisible_indexes=on)让隐藏索引对优化器可见。这一特性为索引管理提供了更灵活的测试和回滚机制,特别适合大表索引变

2024-12-26 13:45:11 323

原创 【MySQL】关于MySQL的全文索引

本文介绍了MySQL全文索引的使用方法。通过创建带有全文索引的表demo,比较了传统like查询和全文索引查询的区别。全文索引使用match+against语法,但受限于innodb_ft_min_token_size参数(默认3),只有当检索词长度≥3时才能被索引。演示了如何查询配置参数,并通过实际查询示例展示了全文索引的工作原理。最后使用explain分析查询计划,验证了全文索引的使用情况。全文索引比like查询效率更高,适合文本搜索场景。

2024-12-25 18:58:17 325

原创 【Zookeeper】四,Zookeeper节点类型、通知、仲裁、会话

Zookeeper采用树状znode节点结构,支持独立和仲裁两种服务器模式。仲裁模式下通过法定人数机制确保数据一致性。znode分为持久、临时、有序等四种类型,临时节点随会话结束自动删除。客户端通过监视点机制接收节点变更通知,需重复设置监视点以持续监听。会话期间遵循FIFO顺序执行请求,会话终止时临时节点自动清除。Zookeeper通过版本号实现乐观并发控制,确保数据操作的原子性。

2024-11-27 21:32:21 1343

原创 【Zookeeper】三,Zookeeper的安装与基本操作

本文介绍了Zookeeper的安装与基本操作。安装过程包括下载tar包、解压到指定目录、配置数据存储路径并启动服务端和客户端。目录结构包含bin(启动脚本)、conf(配置文件)和lib(依赖库)。基本操作演示了创建/删除znode节点、查看目录列表、设置和获取节点数据等命令。客户端连接过程会经历会话建立、初始化等阶段,最终输出SyncConnected事件表示连接成功。通过示例展示了如何操作/test节点进行数据读写。

2024-11-27 20:45:57 739

原创 【Zookeeper】二,主从应用(master-worker架构)

本文探讨了主从架构中的关键问题与解决方案。主节点负责监控从节点状态和任务分配,系统面临主节点崩溃、从节点崩溃和通信故障三大挑战。针对主节点故障,提出了备份主节点机制和脑裂防范措施;从节点故障需任务重分配能力;通信故障需处理任务重复执行问题。文章总结了架构四大需求:主节点选举、崩溃检测、组成员管理和元数据管理,并指出ZooKeeper能提供实现这些原语的关键机制。最后通过烹饪类比解释了"原语"概念,即构建复杂系统的基础构件。

2024-11-18 20:21:13 1577 1

原创 【Zookeeper】一,Zookeeper的使命

摘要:Zookeeper是分布式系统协作工具,基于Fast Paxos算法实现进程间协调。它解决了分布式应用中模块协同的难题,支持主从选举、崩溃检测等功能,被HBase、Kafka等系统采用。其命名源于管理"动物园"般的分布式组件,让开发者专注于业务逻辑而非底层协调。Zookeeper不适合海量存储,主要通过网络通信实现并发控制,适用于多地域部署的系统协同场景。(149字)

2024-11-18 16:25:40 515

原创 【MySQL】存储引擎

存储引擎

2023-01-08 20:09:37 552

原创 【MySQL】十,SQL执行流程

SQL执行流程

2023-01-07 18:57:32 669

原创 【MySQL】九,MySQL逻辑架构剖析

MySQL服务器处理客户端请求的过程可分为三层架构:连接层负责建立TCP连接并进行身份验证;服务层包含SQL接口、解析器、优化器和查询缓存(8.0已移除),负责SQL解析、优化和执行计划生成;引擎层通过插件式存储引擎实现数据存储和提取。底层数据以文件形式存储在文件系统中,不同存储引擎提供不同功能。简化架构分为连接层、SQL处理层和存储引擎层,实现了客户端请求处理与数据存储的分离。

2022-12-31 20:13:49 489 1

原创 【MySQL】八,角色管理

MySQL角色管理

2022-12-31 19:36:46 2650

原创 【MySQL】七,用户管理与权限管理

MySQL的用户管理与权限管理

2022-12-11 10:55:20 801

原创 【MySQL】六,sql_model的合理设置

sql_model的合理设置

2022-11-20 11:09:52 2269

原创 【MySQL】五,SQL大小写规范

SQL大小写规范

2022-11-19 11:52:19 810

原创 【Java】自定义线程池

自定义线程池

2022-10-02 12:42:54 1334

原创 【微服务】自定义注解配合Spring拦截器实现服务调用鉴权

自定义注解配合Spring拦截器实现服务调用鉴权

2022-07-10 18:29:02 501

原创 【微服务】JWT令牌原理

JWT令牌原理

2022-07-10 11:57:51 732

原创 【微服务】网站安全认证架构演进

网站安全认证架构演进

2022-07-08 15:38:18 1886

原创 【微服务】DTO与DMO

DTO与DMO

2022-07-03 17:09:43 831

原创 【微服务】微服务开发中的统一异常处理

微服务开发中的统一异常处理

2022-07-03 17:01:58 1009

原创 【微服务】微服务接口参数校验

微服务接口参数校验

2022-07-03 16:52:10 444

原创 【反应式编程】三,使用常见的反应式操作

使用常见的反应式操作

2022-06-18 17:06:45 1895

原创 【反应式编程】二,初识Reactor

初识Reactor

2022-06-15 16:20:10 390

原创 【反应式编程】一,反应式编程概念

反应式编程概念

2022-06-15 15:34:02 897

原创 【Java】Spring Boot整合RabbitMQ

Spring Boot整合RabbitMQ

2022-06-12 19:20:23 411

原创 【Java】创建REST服务常用注解

创建REST服务常用注解

2022-06-09 08:23:26 619

原创 【Spring】六,属性配置

Spring中的属性配置

2022-06-07 19:21:56 442

原创 【Spring】五,Spring Security的基本使用

Spring Security的基本使用

2022-06-05 21:02:58 570

原创 【Spring】四,Spring与JPA

Spring Boot中使用JPA

2022-06-04 21:22:00 335

原创 【Spring】三,Spring与JDBC Template

Spring与JDBC Template

2022-06-03 15:29:29 198

原创 【Spring】二,web应用开发中的常用技术点

web应用开发中的常用技术点

2022-06-02 11:06:58 165

原创 【Spring】一,Spring起步

Spring起步

2022-06-01 16:33:19 213

原创 【Java】Object数组对象转实体对象

摘要:本文介绍了一个Object数组转Java Bean的工具类DataConvertUtil,通过反射机制匹配构造函数参数类型,将数组元素转换为目标实体类对象。使用时需注意数组元素顺序要与实体类构造方法参数顺序一致。示例展示了如何将包含Long和String的Object数组转换为Student对象,输出结果为Student(id=1, name="张三")。该工具类简化了数据类型转换过程,提高了开发效率。

2022-02-23 16:07:06 3601

原创 【Tomcat】关于“IDEA 集成 Tomcat后,控制台乱码”问题的解决

问题说明在IDEA中配置完 Tomcat后,启动的时候,会遇到控制台输出中文乱码的情况。一般情况下,只需要进行简单的配置,即可解决这个问题,不必像其他文章中说的那样繁琐。解决方式在 IDEA 中,依次选择 File 、Settings,在弹出的窗口中,选择***Editor***、General、Console将上图中,箭头所标记处的选择更改为 UTF-8,然后Apply、OK如果无法解决问题,可参考其他文章,此类相似的文章,网上实在是太多了。...

2022-02-23 13:40:45 474

原创 【Java多线程】双重校验锁单例模式并不一定线程安全

双重校验锁单例模式并不一定线程安全

2021-07-30 20:52:46 1135 1

原创 【Java】对于JMM,Volatile的理解

Java内存模型(JMM)是一种抽象规范,定义了线程如何通过工作内存与主内存交互。JMM具有可见性、原子性和有序性三大特性,规定了线程同步时的内存访问规则。Volatile作为轻量级同步机制,能保证可见性和禁止指令重排,但不保证原子性。要解决原子性问题,可使用synchronized或AtomicInteger。JMM通过规范线程间通信机制,解决了主从内存同步延迟和指令重排导致的可见性与有序性问题,其中synchronized和volatile是关键解决方案。

2021-07-26 11:46:07 256

原创 【Redis】Strings常用指令及位图

set、get、setex、setnxset:设置一个key的value值。get:获取一个key的value值。setex:设置一个key的value值,并指定失效时间。setnx:当key不存在的时候,设置一个key的value值。key存在设置失败。127.0.0.1:6379> set name xupengOK127.0.0.1:6379> get name"xupeng"127.0.0.1:6379> setnx name zhuang(integer) 0

2021-03-14 10:46:39 169

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除