- 博客(35)
- 收藏
- 关注
原创 Spring 核心技术解析【纯干货版】- XII:Spring 数据访问模块 Spring-R2dbc 模块精讲
Spring R2DBC 模块,是 Spring 生态系统中用于支持反应式编程模型与关系型数据库交互的一个模块R2DBC(Reactive Relational Database Connectivity)是一个基于 Reactive Streams 规范的异步、非阻塞的数据库访问技术,它旨在为现代应用程序提供高性能的数据访问能力,特别是在需要高吞吐量和低延迟的场景下。
2026-05-03 20:37:42
265
原创 redis 配置
控制一个pool可分配多少个jedis实例,用来替换上面的redis.maxActive,如果是jedis 2.4以后用该属性。#连接池的最大数据库连接数。#是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个。#最大建立连接等待时间。#逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1。#连接的最小空闲时间 默认1800000毫秒(30分钟)#客户端超时时间单位是毫秒 默认是2000。#在空闲时检查有效性, 默认false。#每次释放连接的最大数目,默认3。
2026-05-03 19:04:37
16
原创 mysql表添加索引
在 MySQL 中,可以使用 ALTER TABLE 语句来为表添加索引。索引可以提高查询性能。一个表只能有一个主键索引,用于唯一标识表中的每一行。如果表中没有定义主键,可以使用 ALTER TABLE 添加。希望本文对你有所帮助!如果你有任何问题或建议,欢迎在评论区留言。用于对文本类型的列进行全文搜索。确保索引列的值是唯一的。
2026-05-03 17:34:22
202
原创 MSSQL2022的一个错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.16.0”提供程序
在导入Excel 的 xlsx 文件,无论是选用 2007-2010,还是2013、2016的版本,都无法导入,出现错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.16.0”提供程序。经过仔细对比,并参考网上的文献,最终发现问题在于SSMS本身是32位软件,微软只是让它兼容了64位的SQLserver数据库,但其内置的数据导入导出程序依旧是32位!按以上思路,按理应该有更好的办法,完全使用64位的SSMS和设置导入导出使用64位程序,可惜本人测试目前还没找到有类似的对应方案。
2026-05-03 16:03:52
199
原创 docker启动redis
redis-server /etc/redis/redis.conf 指定redis在docker中的配置文件路径,后台启动redis。-v /docker/redis/redis.conf:/etc/redis/redis.conf 挂载redis.conf文件。如此一来,redis.conf就设置好了,此时在Linux上创建一个redis文件夹去存放redis的配置文件和持久化数据。-v /docker/redis/data:/data 挂在redis的持久化数据。
2026-05-03 14:31:39
331
原创 MySQL配置my.ini文件
my.ini文件中存储了数据库的文件地址,数据库数据存储地址以及登录密码等基础信息。sc delete mysql(注意,这里的mysql是你的数据库服务名称,不知道怎么看的win+R后输入services.msc回车,就能在名称那一列找到你的mysql名称)显示成功后在管理(win+R回车后输入services.msc,回车)里看一下,如果数据库在管理中仍然存在,右键选择停止。数据库在管理中消失。我的mysql目录下不允许生成新文件,所以我在别的地方新建my.ini,编辑好后直接复制到存放的目录下。
2026-05-02 22:40:58
368
原创 MySQL 数据库基础
数据库是一个用于存储、管理和检索数据的系统,可以组织和保存大量的数据,使得数据能够被高效地访问、更新和管理文件也可以用来存储数据,那为什么还要使用数据库呢?文件保存数据有以下缺点:文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便基于上述问题,就可以使用更利于管理数据的系统 —— 数据库,它能够更有效的管理数据,且可以提供远程服务,即 通过远程连接来使用数据库,因此,也称为数据库服务器。
2026-05-02 21:28:51
353
原创 Java进阶-SpringCloud设计模式-工厂模式的设计与详解
工厂模式定义了一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。工厂模式主要有三种类型:简单工厂模式、工厂方法模式和抽象工厂模式。
2026-05-02 20:17:19
191
原创 MySQL 数据增删改查
PS:连接查询涉及到两个表以上,在查询的时候至少要有一个必备的连接条件,这个必备的条件就是两个表共有的那个字段相等,而且这个字段一定在一个表里是主键,在另一个表里是外健。PS:左连接和右连接就是分别以表1和表2为基表,返回左(右)表中所有记录及连接表中符合条件的记录的外连接。PS:ASC是降序,DESC是升序,在不写明是ASC还是DESC的情况下,默认是ASC降序。连接查询是将多张表中记录按照指定的条件进行连接的查询方式。定义:子查询是在一个查询的内部包括另一个查询的查询方式。如何查看班级同学的平均身高?
2026-04-22 03:12:05
204
原创 java进阶--多线程学习
并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。就好像两个人各拿一把铁锨在挖坑,一小时后,每人一个大坑。所以无论从微观还是从宏观来看,二者都是一起执行的。来个比喻:并发是一个人同时吃三个馒头,而并行是三个人同时吃三个馒头。并行是指多个处理器或者是多核的处理器同时处理多个不同的任务。并发是逻辑上的同时发生,而并行是物理上的同时发生。并发是指一个处理器同时处理多个任务。
2026-04-22 01:43:46
239
原创 java学习进阶之路,如果从一个菜鸟进阶成大神
诞生不过二十余年的Java语言凭借其跨平台、面向对象、适合于分布式计算的特性,广泛应用于Web网站、移动设备、桌面应用中,并且已经连续多年稳居TOBIE编程语言排行榜前列,最近更是登上冠军宝座。File及相关类,字节流InputStream和OutputStream,字符流Reader和Writer,以及相应缓冲流和管道流,字节和字符的转化流,包装流,以及常用包装类使用。图的深度优先搜索、图的广度优先搜索、拓扑排序、Dijkstra算法(单源最短路径)、霍夫曼编码、辗转相除法、最小生成树等。
2026-04-18 16:59:35
210
原创 Docker搭建redis集群
当需要在 Redis 集群中放置一个 key-value时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,也就是映射到某个节点上。–cluster-replicas 1 表示集群主节点需要多少个从节点,我们用了6台,即3台服务器构成集群,每台服务器设置1台从服务器。4.1 进入端口为6381的容器,新增两个key,这里需要加-c,集群操作,可以将key-value放入其他容器中。
2026-04-18 16:18:01
170
原创 Nginx(详解以及如何使用)
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。并发能力: 50,000。
2026-04-04 03:34:34
429
原创 Redis数据库
能够存储数据、管理数据的一种软件。根据数据不同的特点,选择不同的数据库进行存储。一个项目中也可以使用多个数据库。Redis就是一个数据库,但是与传统数据库不同的是,他的数据是存在内存上的,因此读写速度快。
2026-04-02 05:20:17
345
原创 MySQL中ON DUPLICATE KEY UPDATE的介绍与使用、批量更新、存在即更新不存在则插入
基本用法:ON DUPLICATE KEY UPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突(即已存在相同的唯一键值),则会执行更新操作,而不是抛出异常或忽略该条数据。这个语法可以大大简化我们的代码,减少不必要的判断和查询操作。用法总结1:on duplicate key update 语句根据主键id或唯一键来判断当前插入是否已存在。2:记录已存在时,只会更新on duplicate key update之后指定的字段。
2026-04-02 02:03:31
349
原创 【监控】Spring Boot+Prometheus+Grafana实现可视化监控
本文是博主JAVA监控技术系列的第四篇,前面已经聊过了JMX、Spring actuator等技术,本文我们就将依托于Spring actuator+监控组件prometheus+数据可视化组件grafana来实现对Spring Boot应用的可视化监控。Spring Boot 监控_springboot 监控-CSDN博客【监控】spring actuator源码速读-CSDN博客先看看整个prometheus的架构:看起来很复杂对吧?
2026-04-01 04:37:39
388
原创 Sql Server数据库远程连接访问配置
此时对于本机,可以选用127.0.0.1的地址去登录数据库了,这一般也是大部分人选择连接本机数据库时使用的服务器名称,因为非常方便确认。而对于本机或者是同一个局域网下的其它电脑设备来说,便可以远程访问数据库了,只需要知道需要远程访问端的ip地址以及登录名和登录密码即可!这篇文章主要介绍了SqlServer数据库远程连接访问应该如何配置,有需要的小伙伴可以参考一下。好了,到这里就万事大吉了,此时就可以通过远程访问sql server了,我们看看成果吧!这是数据库以及它的官方管理工具。
2026-04-01 01:31:56
233
原创 Spring Boot中使用Server-Sent Events (SSE) 实现实时数据推送教程
总结,Spring Boot中利用SSE实现实时数据推送既简单又实用,特别适合实时更新频率不高、实时性要求不严苛的场景。在Spring Boot项目中,无需额外引入特定的依赖,因为Spring Web MVC模块已经内置了对SSE的支持。创建一个SseEmitter,用uid进行标识,uid可以是用户标识符,也可以是业务标识符。3,通过ajax(/sendMsg),触发后端业务(循环十条数据发往页面),向页面发送消息。在这个例子中,前端每接收到一次SSE推送的事件,就会在id为"con"的元素中追加数据。
2026-03-31 04:45:14
192
原创 Mysql疑难报错排查 - Field ‘XXX‘ doesn‘t have a default value
既然说的是没有默认值,那我们就在插入的时候指定传null 进去即可,由于MyBatisPlus的特性,所以最终在DBclass层,为end_time1和end_time2都设置为null 也插入和更新。某一个插入语句使用了 MyBatisPlus 的 save 方法,因为end_time1 end_time2都并没有值,所以在MyBatisPlus默认情况下,并不会在插入语句中提及,一般情况下,这种报错是表设置成非空字段,我们又没设置默认值导致的。但是这里我们明明表中设置了可空。修复后没有再次报错。
2026-03-31 01:32:29
212
原创 Nginx如何实现 TCP和UDP代理?
Nginx是一个高性能的HTTP和反向代理服务器,同时也支持TCP/UDP代理。在1.9.13版本后,Nginx已经支持端口转发,包括TCP和UDP协议。Nginx的TCP/UDP代理功能允许它作为一个中间人,接收来自客户端的TCP或UDP请求,并将这些请求转发到指定的后端服务器,然后将后端服务器的响应返回给客户端。通过这些配置,Nginx可以作为一个强大的TCP/UDP代理服务器,适用于多种应用场景,如数据库、邮件服务器、游戏服务器等。
2026-03-30 05:24:00
356
原创 【分布式】Hadoop完全分布式的搭建(零基础)
将接下来预计要进行连接的虚拟机ip都入加入到hosts文件,根据自己需要搭建的集群数量决定,本文的Master01用于伪分布式搭建,node1,node2及node3用于完全分布式的搭建,要记录对应的ip地址,以便进行后续操作。打开准备好的远程连接软件,我们后续将都在此进行操作,因为可直接粘贴复制和传送文件(用xshell也可),此处可用root登录也可用普通用户,后续因为yarn的使用,需要用普通用户连接。修改相应的IP地址,默认网关,和刚才虚拟机中的保持统一字段,在本文中统一为10.
2026-03-28 14:04:24
259
原创 SpringDoc和Swagger使用
Swagger和Springdoc是两个常用的工具,用于生成和维护API文档,特别是针对基于REST的Web服务。它们有效地提升了API的可读性和可维护性,帮助开发者、产品经理和其他利益相关者更好地理解和使用所提供的API。注意:Swagger支持springboot2.0但不支持springboot3.0。
2026-03-28 09:57:07
203
原创 MySQL Join 的原理与优化实践
算法适用场景优点缺点内层表有索引查询高效,减少内层扫描行数依赖索引,外层表仍需扫描所有行无索引,小数据量简单实现,适合小型数据集内层表全表扫描,效率较低无索引,大数据量缓冲区减少扫描次数依赖内存大小,耗内存场景Join 是否必要推荐方案汇总查询(无关联需求)不必要使用单表查询或子查询优化,避免多余 Join。多表关联查询必要若数据量较大,优先使用子查询减少扫描行数;若数据量小,直接 Join 效率更高。
2026-03-27 10:49:00
240
原创 PHP搭建开发环境(Windows系统)
要搭建一个完整的PHP动态网站,离不开操作系统、Web服务器、数据库、和PHP软件。虽然有不错方便的方式,比如使用phpstudio等等等等许多面板都是非常快速不错的方式,但是这里是教会大家如何配置而不只是依赖别人整合好的面板软件,有时就会发挥出用处。以下是本文章的所采用的大概配置。
2026-03-26 05:10:21
361
原创 macOs安装docker且在docker上部署nginx+php
v ~/project/nginx/conf.d:/etc/nginx/conf.d 将主机的 ~/project/nginx/conf.d 目录挂载到容器的 /etc/nginx/conf.d。-v ~/project/www:/usr/share/nginx/html 将主机的 ~/project/www 目录挂载到容器的 /www。–link myphp:php 将 myphp 容器的网络并入 nginx 容器,实现容器间的通信。如果想将docker内的文件与docker外的文件相关关联。
2026-03-26 02:04:25
335
原创 MySQL 的 INSERT(插入数据)详解
如果你要插入的值涵盖了表中的所有列,可以省略列名部分。但请注意,值的顺序必须与表中列的顺序相同。无论是基础的单行插入,还是高级的插入否则更新和数据迁移。语句非常灵活,支持多种语法形式,可以根据具体需求选择合适的用法。如果你希望在插入数据时忽略已经存在的记录(即不抛出错误),可以使用。如果你希望在插入数据时遇到主键或唯一键冲突时更新现有记录,可以使用。语法来插入数据,这种方式更适用于需要明确指定列名和值的场景。语法,适用于插入单行数据。子句中指定多组值,从而一次性插入多行数据。语句的详细语法和使用示例。
2026-03-25 03:19:26
177
原创 eclipse配置Spring
下载支持windows的文件,若想下载其他类型,可以访问。2、添加commons-logging进入该项目路径。eclipse版本:2020-06 (4.16.0),等待一会儿会出现安装列表,我们选择带有。此时,Spring的配置已经完成了。注:jdk版本:JavaSE-1.8。选择对应的版本进入下载,此处选择。3、添加Spring组件进入路径。选择第一个下载包,等待下载。项目,右键选择项目,点击。③进入文件夹,选择下载好的。,解压进入文件目录,选择。3、Beans.xml代码。依然按照上述顺序,点击。
2026-03-25 00:43:03
183
原创 Tomcat报404问题解决方案大全(包括tomcat可以正常运行但是报404)
这个问题可能会发生在,用的老师的压缩包没有去官网上下载,或者在自己使用过一段tomcat甚至项目都可以运行起来的时候,因为这种情况下可能会误删电脑上的文件。端口占用可能会出现这个问题,因为tomcat的默认端口号是8080,如果在是运行tomcat时计算机的程序也有8080的端口号,这时候就会报错404。改成自己喜欢的端口8888,9999什么都可以,不要与其他服务端口相同就行,修改后。这个问题可有可无,意思是正常情况下,有没有都是可以访问滴放心。官网下载较慢,我在网盘中放了9.0.78版本的压缩包。
2026-03-24 12:57:14
222
原创 SpringBoot实战:高效实现API限流策略
你可以创建一个全局异常处理器来捕获// 你可以在这里添加其他异常处理器的定义这样,当限流器阻止请求时,客户端将收到一个带有状态码的响应。
2026-03-24 01:39:13
323
原创 MySQL版本选择与安装
如果您的应用程序已经在一个较旧的版本上运行良好,并且没有迫切的升级需求,可以继续使用该版本,但应计划在未来进行升级。全面的性能改进:8.0版本引入了更多的性能优化和新特性,如默认的InnoDB存储引擎和更好的并行复制。对于大多数用户,建议使用最新的稳定版本,如MySQL 8.0,因为它提供了最佳的性能、安全性和新特性。如果您正在开发新的应用程序,建议直接使用最新的MySQL版本,以充分利用其提供的所有优势。改进的安全性:提供了更多的安全特性,如默认的加密连接和新的用户账户管理。
2026-03-23 08:32:13
157
原创 Elasticsearch(ES)基础查询语法的使用
在 Elasticsearch 中,**聚合(Aggregation)**是一个强大的功能,用于对查询结果进行分组、统计、度量等操作。聚合查询不仅可以按字段进行分组,还可以进行计算(如求和、平均值等),在数据分析和可视化中非常有用。在 Elasticsearch 中,聚合查询并不返回实际的文档,而是返回聚合结果,例如每个分组的文档数量、平均值、最大值等。聚合查询不仅可以进行单一聚合,还可以进行嵌套聚合,即在一个聚合的结果上进行进一步的聚合。的字段,你想按类别进行分组查询,统计每个类别的文档数量。
2026-03-23 00:44:12
199
原创 解决phpstudy无法启动MySQL服务
进入电脑的服务页面,直接搜服务,或者win + R 中输入services.msc ,进入服务页面,找到mysql服务,右键关闭,然后去试一下,看能不能启动phpstudy的mysql服务。如果说你在小皮里面,启动mysql,发现启动不了,而且你在你自己电脑本地有装过mysql服务,那么可以按照我下面的不走来,按顺序试验1,2,3,三个里面肯定有一个是可以解决的。把端口号修改成别的,然后在启动看一下,还有没有问题,有很多改了这里就ok了,如果说还不行,或者说不想去改端口号,那么去看3。
2026-03-22 22:49:33
37
原创 深入了解 MySQL 中的 JSON_CONTAINS
函数用于检查一个 JSON 文档中是否包含另一个 JSON 文档。target: 目标 JSON 文档,即我们要检查的文档。candidate: 候选 JSON 文档,即我们要查找的值或对象。path: 可选参数,指定一个 JSON 路径,用于查找特定的节点。是 MySQL 提供的一个强大工具,可以在 JSON 数据中快速查找和匹配特定的值或对象。通过灵活地使用这项功能,可以极大地增强应用程序的数据处理能力和灵活性。随着应用场景的不断扩展,理解和利用 MySQL 中的 JSON 功能将变得愈发重要。
2026-03-22 22:20:35
344
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅