- 博客(40)
- 收藏
- 关注
原创 SpringBoot 项目如何使用 pageHelper 做分页处理 (含两种依赖方式)
分页是常见大型项目都需要的一个功能,PageHelper是一个非常流行的MyBatis分页插件,它支持多数据库分页,无需修改SQL语句即可实现分页功能。本文在最后展示了两种依赖验证的结果。
2026-03-17 15:41:16
301
原创 Redis的LRU算法
(尽管排序本质上也是比较,囧)。这样一来,每次移除的Key并不仅仅是随机选择的N个Key里面最大的,而且还是pool里面idle time最大的,并且:pool 里面的Key是经过多轮比较筛选的,它的idle time 在概率上比随机获取的Key的idle time要大,可以这么理解:pool 里面的Key 保留了"历史经验信息"。最直观的想法:LRU啊,记录下每个key 最近一次的访问时间(比如unix timestamp),unix timestamp最小的Key,就是最近未使用的,把这个Key移除。
2026-03-17 13:14:31
308
原创 Nginx 请求超时
请求超时是指服务器在接收到客户端请求后,未能在规定的时间内完成该请求的处理,导致请求被中止或失败。客户端请求超时:客户端发起请求后等待响应的时间超过了 Nginx 配置的超时时间。Nginx 与后端服务的通信超时:当 Nginx 作为反向代理服务器时,它需要与后端应用服务器(如 PHP、Node.js、Tomcat 等)进行通信。如果后端响应迟缓或未及时响应,可能会导致请求超时。Nginx 自身处理请求的超时:当 Nginx 自身的处理时间过长,未能在指定的时间内完成请求时,也会发生超时。
2026-03-17 10:52:18
155
原创 nginx 代理 redis
本案例旨在演示nginx代理redis,借用kubernetes运行的redis实例进行演示,真实项目一般数据流向为F5到SLB(HAProxy)到Kubernetes集群部署的容器里部署的应用。只适用于pod为1,如果有多个pod则通过LoadBalancer分发到任何节点上,如果节点上的redis没有同步则后续get值可能会返回nil。kubernetes 发布的redis服务端口为 31250。配置nginx.conf。
2026-03-17 05:37:50
16
原创 MS SQL Server 实战 排查多列之间的值是否重复
比如我们有一组题库数据,主要包括题目和选项字段(如单选选择项或多选选择项),一个合理的数据存储应该保证这些选项列之间不应该出现重复项目数据,比如选项A不应该和选项B的值重复,选项B不应该和选项C的值重复,以此穷举类推,以保证这些选项之间不会出现重复的值。在实际的应用中每一个环节我们都难免会出现一些失误,因此不断的根据实际的发生情况总结经验,通过计算来分析,将问题扼杀在摇篮里,以最大保证限度的保证项目运行效果的质量。如图我们假设设计了错误的数据源,第4题的A选项与D选项重复,第8题的A选项与C选项重复了。
2026-03-17 03:00:31
215
原创 Spring Boot 从 2.7.x 升级到 3.3注意事项
从 Spring Boot 2.7.x 升级到 3.3 是一个涉及较多变动的过程,特别是迁移到 Jakarta EE 和 JDK 17。项目在 JDK 17 上正常运行。所有javax.*包改为jakarta.*。更新 Spring 依赖和第三方库以支持 Jakarta EE 9。仔细检查配置文件和日志,处理废弃 API。
2026-03-14 12:22:44
304
原创 RabbitMQ HAProxy 负载均衡
前面我们学习了 rabbitmq 搭建集群,并且为了解决集群中队列的高可用问题,使用仲裁队列替代普通的队列,但是其实这里还有一个问题,就是我们在使用 Java 连接 rabbitmq 的时候,需要指定 rabbitmq 服务的 IP 和端口号,如果该端口号绑定的 rabbitmq 服务挂掉了,那么我们的 Java 程序是否还能够访问到呢?在RabbitMQ集群中,如果所有客户端都连接到同一个节点,该节点的网络负载会显著增加,而其他节点则可能处于空闲状态,造成资源浪费。
2026-03-14 11:09:39
425
原创 Nginx中$http_host、$host、$proxy_host的区别
变量是否显示端口值是否存在host浏览器请求的ip,不显示端口否"Host:value"显示值为a:b的时候,只显示ahttp_host浏览器请求的ip和端口号是“Host:value”,value存在就显示proxy_host被代理服务的ip和端口号默认80不显示其他端口显示"Host:value"显示配置反向代理时,接口请求报404问题应用描述:前端应用域名为A(ww.a.com), 后端服务域名为B(www.b.com);
2026-03-14 03:49:57
19
原创 MySQL压缩版安装详细图解
输入mysqld --console 把信息打印到控制台 然后寻找一下信息中有没有出现这几个错误,如果有就继续看下去。如果是不一样的错误的话我相信你已经有新的思路去找问题了。输入netstat -aon|findstr “3306” 去查找占用了3306端口的进程id然后打开任务管理器 到详细找到刚才看到的进程id 结束掉然后运行 net start mysql 就可以运行了。
2026-03-14 02:34:28
369
原创 MySQL Workbench 超详细安装教程(一步一图解,保姆级安装)
MySQL Workbench 是一款强大的数据库设计和管理工具,它提供了图形化界面,使得数据库的设计、管理、查询等操作变得更加直观和便捷。本文将详细介绍如何在 Windows 系统上安装 MySQL Workbench。相信读者看这篇文章前一定安装了MySQL数据库吧,还没安装的话,请先去安装一下MySQL哦!
2026-03-14 01:20:22
175
原创 JAVA系统中Spring Boot 应用程序的配置文件:application.yml
custom:app:timeout:: 自定义功能标志,启用新 UI。: 自定义默认超时时间。(配置文件)目的: 定义 Spring Boot 应用程序的各种配置属性。内容: 包含服务器配置、Spring 配置、日志配置、安全配置和其他应用程序级别的配置。作用: 用于配置应用程序的行为和环境,确保应用程序能够正确启动和运行。确保这个文件中的配置正确无误,并且符合项目的整体需求。
2026-03-13 23:52:32
132
原创 【MYSQL】聚合查询、分组查询、联合查询
函数说明count (列名)返回查询到的数据的 数量sum(列名)返回查询到的数据的 总和,不是数字没有意义avg(列名)返回查询到的数据的 平均值,不是数字没有意义max(列名)返回查询到的数据的 最大值,不是数字没有意义min(列名)返回查询到的数据的 最小值,不是数字没有意义。
2026-03-13 18:58:46
363
原创 爬虫自动化(DrissionPage)
dDrissionPage官网??概述[这里是图片003]https://www.drissionpage.cn/来自官网的介绍:DrissionPage是一个基于 Python 的网页自动化工具。既能控制浏览器,也能收发数据包,还能把两者合而为一。DrissionPage 语法简洁,使用方便,底层基于 CDP 协议,拥有较强的反检测机制,目前不需要做任何反检测的操作就可以绕过国内外绝大多数的网站自动化检测。
2026-03-13 02:56:02
181
原创 关于Mysql 中 Row size too large (> 8126) 错误的解决和理解
提示:啰嗦一嘴 ,数据库的任何操作和验证前,一定要记得先备份!!!不会有错;
2026-03-13 00:13:24
238
原创 Spring系列学习之Spring Messaging消息支持
Spring Framework为与消息传递系统的集成提供了广泛的支持,从使用JmsTemplate简化JMS API的使用到异步接收消息的完整基础结构。Spring AMQP为高级消息队列协议提供了类似的功能集。Spring Boot还为RabbitTemplate和RabbitMQ提供自动配置选项。Spring WebSocket本身包含对STOMP消息传递的支持,Spring Boot通过启动器和少量自动配置支持它。Spring Boot也支持Apache Kafka。
2026-03-12 08:00:43
154
原创 Spring Cloud Nacos配置管理
Nacos 作为配置中心,实现了配置的集中管理,当配置更新时,不需要重启应用立即生效,同时配置的修改具有版本管理功能,便于审计和回滚等操作。此外对于一些敏感信息放到配置中心,通过权限控制增加安全性。
2026-03-12 00:13:47
201
原创 MySQL的索引详细介绍(全网最详细!!!)
索引是帮助MySQL高效获取数据的数据结构MySQL在存储数据之外,数据库系统中还维护着满足特定查找算法的数据结构,这些数据结构以某种引用(指向)表中的数据,这样我们就可以通过数据结构上实现的高级查找算法来快速找到我们想要的数据。而这种数据结构就是索引。MysQL 的慢查询日志是MySQL提供的一种日志记录,他用来记录在MysQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。可以由它来查看哪些sQL超出了我们最大忍耐时间值。
2026-03-11 00:09:06
176
原创 macOS安装Redis
本指南告诉你如何使用Homebrew在macOS上安装Redis。Homebrew 是在 macOS 上安装 Redis 的最简单方法。首先,确保你已经安装了Homebrew。在终端上,运行如果你这个命令失败了,你就需要安装Homebrew。
2026-03-10 04:55:41
214
原创 C#数据库操作系列---SqlSugar完结篇
之前介绍了针对单个表的查询,同样也是相对简单的查询模式。虽然开发完全够用,但是难免会遇到一些特殊的情况。而下面这些方法就是为了解决这些意料之外。
2026-03-10 00:54:24
205
原创 基于SpringBoot和PostGIS的全球首都信息管理设计与实现
首都,一个国家的政治、文化和经济中心,是国家的心脏,也是其对外展示的窗口。它们不仅是国家权力的象征,更是全球交流与合作的重要平台。在这个全球化的时代,首都的作用愈发显著,它们不仅是国内政策的制定地,也是国际关系和全球治理的关键节点。首都,作为国家的象征,承载着国家的历史与文化。从北京的紫禁城到华盛顿的白宫,从巴黎的埃菲尔铁塔到莫斯科的克里姆林宫,每一座首都都有其独特的故事和魅力。它们不仅是历史的见证者,也是现代文明的创造者。首都的建筑风格、城市规划和文化活动,无一不反映出一个国家的精神面貌和发展理念。
2026-03-09 04:17:27
339
原创 【Spring】IDEA中创建Spring项目
鼠标放在SomeService上Alt+Enter,快捷键创建接口实现类—SomeServiceImpl一路ok??
2026-03-09 00:14:23
209
原创 Ubuntu 20.04配置网络
下一步,点击网络图标,这个地方有的同学,可能会出现没有网络图标。选择网络适配器,这里可以通过反复拔插我们连接的拓展块,这样就能确认名称了。进入之后,选择添加网络,选择添加网络,这里可以随便选一个上面没有的。选择好之后,我们要确认一下插入的设备的名称。打开虚拟机,插入水晶头网线后,电脑上会弹出显示,选择连接到主机。下面我们进入到虚拟机,点击上面的编辑->虚拟网络编辑。最终确认好以后,也不要忘了选择弹窗,连接到主机哦。这里改个名字,添加,然后选择到这个配置就行了。2,接下来进入正题,我们开始配置网络。
2026-03-08 10:48:44
48
原创 springboot整合modbus实现通讯
本文基于springboot和modbus4j进行简单封装,达到开箱即用的目的,目前本方案仅实现了tcp通讯。代码会放在最后,按照使用方法操作后就可以直接使用在使用本方案之前,有必要对modbus有一个简单的认知,其中包含modbus协议Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。
2026-03-08 00:31:03
165
原创 Spring Boot 整合 log4j2 日志配置教程
在项目推进中,如果说第一件事是搭建 Spring 框架的话,那么第二件事情就是在 Sring 基础上搭建日志框架,此篇文章是博主在学习过程中使用 Spring Boot 搭建项目时整合 Log4j2 日志的总结共有8个级别,按照从低到高为:All < Trace < Debug < Info < Warn < Error < Fatal < OFF机制:如果一条日志信息的级别大于等于配置文件的级别,就记录All:最低等级的,用于打开所有日志记录。
2026-03-07 03:41:38
161
原创 No qualifying bean of type ‘org.springframework.jdbc.core.JdbcTemplate‘ available expected at least
但是呢,还有一个方法也是可以注册bean的,那就是Spring的注解@Autowire以及java的@Resouce注解,这个时候会导致重复注册bean了,1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} 这个的意思就是bean的类型重复,除非你定义别的类型名称,
2026-03-07 00:09:56
187
原创 maxun爬虫机器人介绍与部署
机器人爬虫工具,绕开编码,直接从网页中截图并且进行解析一款全新的无代码网页数据提取平台,无需编程即可轻松抓取网站的数据,支持列表/文本抓取、截图、自定义代理、自动处理分页和滚动等功能。作为一个新的开源项目,它的功能还在不停迭代,计划推比如适应网站布局变化和登录后数据提取等新功能。
2026-03-06 08:02:59
292
原创 C#数据库操作系列---SqlSugar完结篇
之前介绍了针对单个表的查询,同样也是相对简单的查询模式。虽然开发完全够用,但是难免会遇到一些特殊的情况。而下面这些方法就是为了解决这些意料之外。
2026-03-06 00:51:54
224
原创 解决bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException
确保底层SQL与上层调用的代码都没有逻辑问题,所以“bad SQL grammar []”应该是由配置文件导致的,检查项目的。这种配置的使用对于一些特殊的SQL语句执行场景非常有帮助,但需要谨慎使用,确保SQL语句的合法性和安全性。在使用Spring Boot连接MySQL数据库时,有时候会遇到“Bad SQL Grammar”错误,这种错误通常在执行SQL语句时发生。本文针对的是对于执行多条SQL语句的情况。MySQL连接配置中有一些常用的参数,这些参数可以在数据库连接字符串(URL)中进行配置。
2026-03-05 07:21:30
344
原创 十八,Spring Boot 整合 MyBatis-Plus 的详细配置
MyBatis-Plus 官网文档:https://baomidou.com/是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MyBatis puls (简称 MP) 是一个Mybatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发,提供效率而生。内置通用Mapper,通用 Service,通过少量配置即可实现单表大部分的CRUD操作,更有强大的条件构造器,满足各类使用需求。
2026-03-05 03:40:30
521
原创 【Nginx 】Nginx 部署前端 vue 项目
在两种系统中,安装Nginx的过程都相对简单,主要区别在于使用的软件包管理器不同。这包括访问Vue应用的主页,以及尝试访问应用中的各个路由,确保它们都能正确加载。文件中列出的依赖项进行下载和安装,这个过程通常需要联网操作,并且依赖于npm仓库的响应速度。在网络状况良好的情况下,安装过程可以顺利完成。在CentOS或RHEL系统上安装Nginx的过程与Ubuntu/Debian略有不同,主要体现在软件包管理器的使用上。在项目部署之前,确保开发环境中已安装Node.js和npm,这是运行Vue项目的基础。
2026-03-04 07:36:07
242
原创 Redis简介、常用命令及优化
关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。主流的关系型数据库包括 Oracle、MySQL、SQL Server、Microsoft Access、DB2 等。① 易于维护:都是使用表结构,格式一致② 使用方便:SQL语言通用,可用于复杂查询③ 支持复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
2026-03-03 03:08:01
400
原创 Nginx 反向代理配置
Nginx 作为反向代理服务器,在 Web 服务架构中发挥着至关重要的作用。通过反向代理配置,Nginx 能够帮助分担流量、提供负载均衡、提高安全性、加速请求响应等。本文介绍了 Nginx 反向代理的基本配置方法,以及如何通过负载均衡、SSL 反向代理、WebSocket 代理等功能,进一步扩展其能力。
2026-03-03 00:06:05
360
原创 mysql查看binlog日志
修改数据目录配置文件 ,例:C:ProgramDataMySQLMySQL Server 8.0my.ini(可见:SHOW VARIABLES LIKE ‘log_bin%’;
2026-03-02 12:38:19
225
原创 Linux安装RabbitMQ
RabbitMQ 管理界面中的顶部标签(OverviewChannelsExchangesAdmin)提供了对 RabbitMQ 集群的不同方面的管理和监控功能。1. Overview(概览)功能:提供 RabbitMQ 集群或单个节点的总体运行状态。显示有关队列、交换机、连接、通道等的统计信息。包含的主要信息:Totals:队列中的消息总数、消息速率(每分钟发布/确认/投递的消息数量)。Nodes:显示所有节点的资源使用(内存、磁盘、CPU、Erlang 进程等)。
2026-03-02 07:17:58
744
原创 Spring Boot + Vue 全栈开发实战指南
随着互联网技术的发展,企业对于快速开发高质量Web应用的需求日益增长。Spring Boot以其轻量级、易配置、快速开发的特点,成为Java后端开发的首选框架。Vue.js以其响应式、组件化的特点,成为前端开发的热门选择。结合两者,我们可以构建出既高效又易维护的全栈应用。在这篇博客中,我们详细探讨了如何使用Spring Boot和Vue.js进行全栈开发项目。从后端的Spring Boot项目搭建、数据库集成、业务逻辑处理到前端的Vue.js项目初始化、组件开发、路由配置等方面都进行了深入的讲解。
2026-03-01 22:45:59
748
原创 Redis连接池
redisTemplate.opsForValue().set(“name”,“谷歌”);支持基于JDK、JSON、字符串、Spring对象的数据序列化及反序列化。提供了对不同Redis客户端的整合(Lettuce和Jedis)提供了RedisTemplate统一API来操作Redis。支持基于Redis的JDKCollection实现。<–基于Springboot引入这两个依赖:–>支持Redis哨兵和Redis集群。支持基于Lettuce的响应式编程。支持Redis的发布订阅模型。
2026-03-01 11:49:51
253
原创 Spring Boot 3.X:Unable to connect to Redis错误记录
IOC容器中的Spring为我们自动配置的RedisConnectionFactory的clientOptions.protocolVersion仍然是null,但是此时Redis已经可以正常连接上了,说明Lettuce 6.5.0已经解决了认证连接bug。这种方法就比较简单粗暴了,既然“spring-boot-starter-data-redis”提供的lettuce依赖版本为6.4,那我们就不用它提供的了,自己引入版本为6.5的lettuce依赖。于是我先去检查了配置文件的连接信息,发现没问题;
2026-02-28 12:10:03
960
原创 Redis为什么这么快?Redis的线程模型与Redis多线程
多路I/O复用模型是利用 select、poll、epoll 可以同时监察多个流的 I/O 事件的能力,在空闲的时候,会把当前线程阻塞掉,当有一个或多个流有 I/O 事件时,就从阻塞态中唤醒,然后程序就会轮询一遍所有的流(epoll 是只轮询那些真正发出了事件的流),并且依次顺序的处理就绪的流,这种做法就避免了大量的无用操作。在redis的多线程模式下,获取、解析命令,以及输出结果着两个过程,可以配置成多线程执行的,因为它毕竟是我们定位到的主要耗时点,但是命令的执行,也就是内存操作,依然是单线程运行的。
2026-02-28 11:39:22
850
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅