- 博客(26)
- 资源 (3)
- 收藏
- 关注

原创 mysql索引失效问题以及EXPLAIN详解
索引失效场景索引失效场景主要总结出10点索引失效的场景,首先了解下性能查询explain 工具参数的详解。
2024-12-07 17:43:02
865

原创 Jenkins 配置项目前后端工程
Jenkins配置后端与前端服务,一键发布正式环境,并后期优化后端服务构建Docker镜像,jenkins一键发布后端Docker镜像
2024-12-07 11:48:06
2052
原创 Spring Boot框架结合MongoDB实现日志数据的保存和归档
1)数据库设计数据模型:确定你的日志记录所需的字段,如时间戳、日志级别、消息内容、用户ID等。索引:为常用查询字段(尤其是时间戳)设置索引,以优化查询性能。2)数据保存策略实时写入:日志数据应该实时写入数据库,可以使用MongoDB的插入操作来实现。批量插入:如果日志数据量很大,可以考虑使用批量插入来减少数据库压力和提高性能。3)归档策略定时任务:使用Spring的@Scheduled注解来创建定时任务,定期执行归档操作。数据迁移:将最近7天的数据保持在主要的集合中,其余数据迁移到归档集合中。
2024-12-23 11:03:28
1308
原创 RabbitMQ消息队列的10种应用场景
消息队列不只是传递消息的工具,更是系统解耦、提升稳定性和扩展性的利器。在这10种经典场景中,每一种都能解决特定的业务痛点。
2024-12-23 11:02:08
2563
原创 SpringBoot使用 AOP 实现自定义日志记录并保存在Mysql
主要定义了操作日志的一些基本的信息,用来对我们AOP自定义的日志进行存储。`user_id` int DEFAULT NULL COMMENT '用户名',`url` varchar(512) DEFAULT NULL COMMENT '接口',`ip` varchar(100) DEFAULT NULL COMMENT 'ip地址',`param` text COMMENT '接口参数',`time` datetime DEFAULT NULL COMMENT '时间',
2024-12-21 10:31:14
1097
原创 CompletableFuture使用详解
平时多线程开发一般就是使用Runnable,Callable,Thread,FutureTask,ThreadPoolExecutor这些内容和并发编程息息相关。相对来对来说成本都不高,多多使用是可以熟悉这些内容。这些内容组合在一起去解决一些并发编程的问题时,很多时候没有办法很方便的去完成异步编程的操作。Thread + Runnable:执行异步任务,但是没有返回结果Thread + Callable + FutureTask:完整一个可以有返回结果的异步任务。
2024-12-21 10:30:01
1189
原创 SpringBoot整合Spring AOP & Aspectj 框架 快速入门
到底什么是AOP,很多小伙伴八股文背的6的一,但是实际业务可能工作两年都没用过。所以来说AOP到底是什么玩意?AOP 是 Aspect Oriented Programming 的缩写,译为面向切向编程。图片来理解:假设我有四个行为:在我所有行为之前我都需要 洗手在我所有行为之后我都需要 上厕所解决办法一:每个方法之前加入 洗手 逻辑, 每个方法之后加入 上厕所 逻辑。解决办法二:抽取出一个公用的 洗手 和 上厕所 方法,然后每个行为之前调用 洗手方法,每个行为之后调用 上厕所方法。
2024-12-21 10:28:49
1097
原创 线程池的执行流程和原理
线程池是一种线程复用技术,它维护着多个线程等待监督管理者分配可并发执行的任务。处理过程中,将任务添加到队列,然后在线程创建后自动启动这些任务。
2024-12-19 14:56:26
1016
原创 Spring MVC 中,处理异常的 6种方式
异常处理是每个 Java程序员需要面对的一个问题,在Spring中,提供了多种机制来处理控制器抛出的异常,确保应用程序在面对各种错误情况时能够优雅地响应。这篇文章,我们来详细分析Spring MVC中,几种优雅处理异常的方式。
2024-12-19 14:55:27
1037
原创 SpringBoot中基于JWt的授权与续期方案
请求携带Token:在后续的每一次需授权API请求中,客户端都需在HTTP请求的Authorization头部字段中携带此JWT,以便服务端验证用户的身份和权限。用户认证与Token生成:用户成功登录后,服务端生成一个包含必要信息的JWT并返回给客户端。解决token过期续期问题可以有很多种不同的方案,这里举一些比较有代表性的例子,一种是单token续期,一种是双token续期。使用刷新后的Token:客户端在收到新的Token后,自动替换掉旧的Token,并在后续的请求中携带此新Token继续访问服务。
2024-12-18 10:10:56
988
1
原创 HTTPS加密传输的原理与Nginx配置
本文主要介绍了 HTTPS 加密传输的原理与 Nginx 配置攻略。解释了 HTTPS 相较 HTTP 的安全性,包括对称加密、非对称加密、数字证书的验证方式。还阐述了 HTTPS 的流程,即 TCP 三次握手加 TLS 四次握手。最后给出了在 Nginx 中配置 HTTPS 的相关代码和参数。
2024-12-16 10:27:45
823
原创 Spring Boot启动流程详解
Spring Boot 是一个用于简化 Spring 应用程序开发的框架,提供了便捷的配置和自动化功能。这篇文章,我们将深入探讨 Spring Boot 的启动流程,包括其背后的重要组件和原理。
2024-12-14 09:27:31
945
原创 Nginx 性能优化方案
Nginx是一款高性能的Web服务器,广泛应用于互联网领域。然而在高并发、大流量的情况下,Nginx的性能可能会受到一定的影响。因此,对Nginx进行性能优化是非常必要的。
2024-12-13 09:05:01
665
原创 Mysql 深度分页查询优化
在 MySQL 中,分页是一个常见的功能,mysql在数据量大的时候,深度分页数据偏移量会增大,导致查询效率越来越低
2024-12-13 09:00:55
803
原创 Redis缓存的穿透,击穿,雪崩,热点key等问题
缓存雪崩:由于缓存层承载着大量请求,有效地保护了存储层,但是如果缓存层由于某些原因不能提供服务,比如同一时间缓存数据大面积失效,那一瞬间Redis跟没有一样,于是所有的请求都会达到存储层,存储层的调用量会暴增,造成存储层也会级联宕机的情况。第二,缓存层和存储层的数据会有一段时间窗口的不一致,可能会对业务有一定影响。缓存击穿是指一个Key非常热点,在不停的扛着大并发,大并发集中对这一个点进行访问,当这个Key在失效的瞬间,持续的大并发就穿破缓存,直接请求数据库,就像在一个完好无损的桶上凿开了一个洞。
2024-12-12 09:42:59
624
原创 Java 实现接口幂等的九种方法
在分布式系统中,接口的幂等性至关重要,它能确保重复请求不会导致意外的副作用。本文深入探讨了 Java 实现接口幂等的九种方法,包括数据库唯一约束、状态机、分布式锁等,并通过详细的代码示例和实际应用场景,帮助读者全面理解和掌握这些方法,以提升系统的稳定性和数据一致性。
2024-12-12 09:40:55
1409
原创 JVM调优
在项目开发过程中,生产环境中,任何问题的解决,性能的调优总结下来就三个步骤,即发现问题、定位问题、解决问题。本文将从这个步骤入手,详细阐述内存溢出(OOM、OutOfMemeory)、CPU飙高、GC频繁等JVM问题的排查、定位,以及调优。
2024-12-12 09:38:09
1139
原创 一个注解,优雅的实现接口幂等性
简单来说,就是对一个接口执行重复的多次请求,与一次请求所产生的结果是相同的,听起来非常容易理解,但要真正的在系统中要始终保持这个目标,是需要很严谨的设计的,在实际的生产环境下,我们应该保证任何接口都是幂等的,而如何正确的实现幂等,就是本文要讨论的内容。/*** 参数名,表示将从哪个参数中获取属性值。* 获取到的属性值将作为KEY。* @return*//*** 属性,表示将获取哪个属性的值。* @return*//*** 参数类型* @return*/
2024-12-07 17:40:16
823
原创 将设计模式运用到实际项目中
所谓 “设计模式”,是一套被反复使用和验证的方法论。从更宏观的角度看,只要能够解决实际问题并符合使用场景,设计模式既可以应用于领域驱动设计(DDD),也可以用于具体的项目开发。
2024-12-07 13:35:24
960
1
原创 Mybatis基础(1)
1.Mybaties配置文件 1)SqlMapConfig.xml --- 为主配置文件, 一般用于配置数据库连接参数。且只有一个。2)SqlMap.xml --- 用于定义SQL语句和映射信息, 项目中会有多个。SqlMapConfig.xml 文件 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DT
2016-06-03 23:49:30
141
echarts 地图 省市 json文件
2017-12-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人