- 博客(138)
- 收藏
- 关注
原创 【分库分表】基于mysql+shardingSphere的分库分表技术
分库分表是一种场景解决方案,它的出现是为了解决一些场景问题的,哪些场景喃?单表过大的话,读请求进来,查数据需要的时间会过长读请求过多,单节点IO压力太大,IO压力太大会造成什么?可能会造成IO阻塞,造成响应速度变慢。分库分表是指的两种维度,一种维度是分库,另一种维度是分表。分的话有两种分法,一种是水平分,另一种是垂直分。水平分是指将数据分为多段,一个服务器节点上存放一段,读写的时候走自己要的那一段所在服务器上。一段也叫一个分片(sharding)
2025-11-27 04:20:53
399
原创 【MySQL】C# 连接MySQL
安装完MySQL之后,在安装的默认目录 C:Program Files (x86)MySQLConnector NET 8.0 中查找MySQLData.dll文件。因为作者精力有限,文章中难免出现一些错漏,敬请广大专家和网友批评、指正。在Visual Studio 中为项目中添加引用。
2025-11-27 03:20:50
358
原创 SQL-触发器(trigger)的详解以及代码演示
触发器是一种特殊的存储过程,但是触发器不存在输入和输出参数,所以不能被显式的去调用,而是与特定的表相关联,当表中的数据发生变化时,触发器被激活并执行其定义的SQL代码。触发器可以是行级触发器(针对每一行数据变化)或语句级触发器(针对整个SQL语句的变化),行级触发器允许对每一行单独处理,而语句级触发器则在整个操作完成后执行一次。这个查询将返回触发器的名称、父对象(表或视图)的名称、触发器的类型(如AFTER、INSTEAD OF)以及触发事件(如INSERT、UPDATE、DELETE)。
2025-11-27 02:20:43
419
原创 SpringBoot读取properties中文乱码解决方案
在IDEA中将所有的编码设置为UTF-8,同时勾上Transparent native-to-ascii conversion的选项,然后重新创建application.properties的文件。由于业务需求需要在application.properties中配置一个带有中文字符串的参数,注入到业务类中,但是发现注入的中文是乱码的。就是将application.properties的文件修改为application.yml的结构,重启项目。
2025-11-27 01:20:32
344
原创 Spring TransactionTemplate 深入解析与高级用法
TransactionTemplate` 是 Spring 框架中一个强大的工具,它允许开发者以编程方式控制事务。通过本文的详细解析和示例代码,我们可以看到如何使用 `TransactionTemplate` 来执行事务性操作,并处理高级事务场景。在实际开发中,合理使用事务管理对于确保数据一致性和系统稳定性至关重要。
2025-11-27 00:20:13
283
原创 yum安装redis
如果你没有配置密码,那这个时候你可以使用了,如果配置了密码,还需要授权密码才能使用。如果没有你所需要的版本,那建议你用二进制压缩包方式安装redis。输入info可查看redis信息。
2025-11-25 05:47:58
235
原创 SpringCloudGateWay
SpringCloudGateWay进行服务化:我们需要将我们的springCloudGatewa项目当作一个服务注册到EurekaServer中,配置如下server:port: 8888spring:application:name: cloud-gateway-eurekacloud:gateway:discovery:locator:enabled: trueeureka:client:service-url:defaultZone: http://localhost:
2025-11-25 04:27:36
976
原创 Spring Boot环境配置
只要我们在Spring Boot 项目中的 pom.xml 中引入了spring-boot-starter-web依赖,即使不进行任何配置,也可以使用Spring MVC 进行 Web 开发。spring-boot-starter-web是一个依赖库,Spring Boot 是在 Spring 的基础上创建的一个开源框架,它提供了 spring-boot-starter-web (web场景启动器)来为web开发予以支持。选择JDK的安装路径,你可以选择自定义一个路径或者安装至操作系统的默认路径当中。
2025-11-25 03:07:04
341
原创 Nodemailer使用教程:在Node.js中发送电子邮件
Nodemailer是Node.js平台上最流行的电子邮件发送库,它提供了一个简单而强大的解决方案,支持Unicode内容、HTML内容、附件、图片嵌入等功能。SMTP(Simple Mail Transfer Protocol,简单邮件传输协议) 是一个在互联网上发送电子邮件的标准协议。
2025-11-25 01:47:29
657
原创 MySQL中DROP、TRUNCATE和DELETE
操作影响范围删除方式事务支持性能触发器外键约束支持自动增长重置可恢复性DELETE删除表中的数据逐行删除支持较慢支持支持不重置可回滚TRUNCATE删除表中的所有数据批量删除不支持较快不支持不支持重置不可回滚DROP删除整个表删除表及数据不支持非常快不支持不支持无不可回滚。
2025-11-25 00:27:45
649
原创 在21世纪的我用C语言探寻世界本质——字符函数和字符串函数(2)
(9)现在我们就来看进行一次匹配的过程,也很简单,我们还是创建一个while循环,如果s1和s2解引用不是 ,并且解引用后相等,那我们就让s1和s2加加,一直往后走,当循环结束时,我们就判断s2解引用后是否是 ,如果是说明完全匹配上了,就返回cp,不是那么说明没有完全匹配,就让cp++,开始下一次循环查找。而不带n的字符串函数和带n的字符串函数的根本区别是带n的字符串函数更灵活,可以指定拷贝的字符的个数,所以也叫带n的字符串函数为受限制的字符串函数,不带n的为不受限制的字符串函数。
2025-11-24 06:37:10
642
原创 【mysql】锁机制 - 2.行锁间隙锁临键锁
唯一索引等值查询:当查询的记录存在, 临键锁 会退化成行锁当查询的记录不存在,临键锁会退化成间隙锁非唯一索引等值查询:当查询的记录存在,会加 临键锁和 间隙锁两把锁当查询的记录不存在,只会加 临键锁,然后退化为间隙锁非唯一索引和主键索引的范围查询的区别:唯一索引在满足条件时, 临键锁 退化为间隙锁和记录锁非唯一索引范围查询, 临键锁不会退化 为间隙锁和记录锁。
2025-11-24 05:12:01
618
原创 SQL Server导出和导入可选的数据库表和数据,以sql脚本形式
3. 如果只需要导出部分表,则选择第二项**“选择具体的数据库对象(Select specific database objects)”**,并勾选表;1. 打开SQL Server Management Studio,在需要导出表的数据库上单击右键 → 任务 → 生成脚本。1. 如果导出的脚本文件较小,可以直接双击文件,在SQL Server Management Studio里执行。如果同时需要导出表结构和数据,就从右上角的**“高级(Advanced)”5. 之后,连续点击下一步,直到完成。
2025-11-24 03:47:18
379
原创 springboot 异步操作
future.get()` 和 `future.join()` 都是用于处理并发编程中异步任务的结果,但它们属于不同的编程框架或库,并且具有不同的用途和行为。- **库**: Java 的 `Thread` 类或 Kotlin 的协程(`join()` 在 Kotlin 协程中表现为 `await()`)。- 在 Java 中,`thread.join()` 会使当前线程(调用 `join()` 的线程)等待,直到目标线程终止。- `join()` 是 Java 线程的方法,用于等待一个线程完成。
2025-11-24 02:21:46
545
原创 Redis Desktop Manager(Redis可视化工具)安装及使用详细教程
如下图所示:图2.2.6.1图2.2.6.1如下图所示:图3.2.1图3.2.1。
2025-11-24 00:56:46
707
原创 记录spring-boot 3.X版本整合RocketMq
我是从github上fork后下载到本地。使用idea启动nameSrv和broker。注意使用spring-boot 3.x版本后,jdk必须要17以上。所以本地需要安装jdk17。rocketMq我用的是最新的4.X版本4.9.8。版本信息是如何选择的呢?看rocketMq官网。新增application.yml文件。启动就可以看到如下,正常的生产和消费。使用spring-boot的初始化。创建工程并下载放到父工程子目录下。
2025-11-23 05:40:18
367
原创 国产化中间件东方通TongWeb环境安装部署(图文详解)
中国政府一直致力于促进国内产业的发展和国产化进程。作为全球第二大经济体,中国政府部门在推动国产化方面发挥着至关重要的作用。本文是东方通中间件TongWeb的详细安装图解。提示:以下是本篇文章正文内容,下面案例可供参考记得使用:source /etc/profile以上就是东方通TongWeb最新版本的安装详细步骤,遇到其他问题欢迎一起交流,一起进步。
2025-11-23 04:31:15
575
原创 【MySQL】表的相关操作
这种做法相当于是把当初创建表时的有效操作给记录下来了,所以是最详细的,包含了说明和字符集等等,不过可以发现的时候上面的写法貌似和当初自己写的不太一样,这是因为mysqld要对命令进行语法和词法分析,并对其按照标准进行修改优化,最后再去执行优化后的命令,也就是上面这样。和库一样,不要轻易对表进行修改和删除,因为数据库是比较接近底层的,上层程序可能有很多地方都要用到这个数据库以及对应的表,如果你把名字改了,那上层都得跟着改,降低了维护性。可以发现,修改是直接覆盖最初的指令,把原来的属性和描述信息直接替换了。
2025-11-23 03:23:00
638
原创 SQL SERVER 登陆错误:18456
SqlServer"用户登录失败,错误编18456"的解决过程_MsSql_脚本之家](https://www.jb51.net/article/262984.htm “SqlServer"用户登录失败,错误编18456"的解决过程_MsSql_脚本之家”)只用windows认证登陆和SQL SERVER 和windows混合登陆的方式。在查找的时候,发现有如下文章,这对我们分析的具体原因很有帮助。在报错trouble shooting的时候,会有如下的记录。这个一般我们安装的时候,都会选择混合登陆。
2025-11-23 02:14:55
303
原创 SpringBoot - Cookie & Session 用户登录及登录状态保持功能实现
定义Session (会话控制),Session 对象存储特定用户会话所需的属性及配置信息SessionID:客户端第一次请求服务器时,服务器为客户端算出的一个值,存储在 Cookie 中,用于定位用户 Session 在服务器中的位置与 Cookie 的区别:Cookie 可以通过伪造来实现登录并进行一些 HTTP 请求,从安全性上来讲,Session 比 Cookie 安全性稍微高一些功能:提高安全性有效期:一般为半小时,可以根据需求设定缺点。
2025-11-23 01:04:43
766
原创 Nginx 请求超时
请求超时是指服务器在接收到客户端请求后,未能在规定的时间内完成该请求的处理,导致请求被中止或失败。客户端请求超时:客户端发起请求后等待响应的时间超过了 Nginx 配置的超时时间。Nginx 与后端服务的通信超时:当 Nginx 作为反向代理服务器时,它需要与后端应用服务器(如 PHP、Node.js、Tomcat 等)进行通信。如果后端响应迟缓或未及时响应,可能会导致请求超时。Nginx 自身处理请求的超时:当 Nginx 自身的处理时间过长,未能在指定的时间内完成请求时,也会发生超时。
2025-11-22 19:29:18
579
原创 MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置
本次安装 MySQL 的安装路径为:d:mysql,因此需要把 【d:mysqlin】目录添加到环境变量中。(5)在弹出的【编辑环境变量】对话框中单击【新建】按钮,把 MySQL 的 bin 路径粘贴到最后一行,如下图所示。4、在弹出的窗口中单击【Browse 】按钮,修改 MySQL 的安装路径,然后单击【Next】按钮。(2)在弹出的【设置】窗口中,输入【环境】,然后在下拉列表中选择【编辑系统环境变量】,如下图所示。(4)在弹出的【环境变量】对话框中选择【Path】,然后单击【编辑】按钮,如下图所示。
2025-11-22 18:18:30
869
原创 FrankenPHP实践
它实际上是有两种运行模式:普通模式和worker模式,其中的普通模式类似于传统的LNMP容器,只是Nginx换成了Caddy Server,带来的提升并不特别明显。如果自建镜像扩展插件,需三思是否需要加Opcache,开启后 frankenphp 的watch功能(监控文件修改自动热启)将不能正常使用,但开启后,性能将提高40%左右。Frankenphp是一个先进的,结合了高性能Caddy服务器的PHP。,它允许用户只需要少量改动,就能让传统的php前端应用插上翅膀,享受到。
2025-11-22 17:08:05
703
原创 四、nginx的优化和location匹配规则
2、如下图片显示,如果我们主机是4核的,那么每个进程进来都需要内核来处理,可能会造成同一个进程请求可能被不同内核处理(跳频),所以需要我们把进程绑定到cpu上,一个进程有一个cpu处理,防止跳频。1、确保连接时被可靠的关闭:即时是四次挥手之后,对方有可能还有数据未处理完毕,在timewait阶段可以保证数据依然被正确的处理,防止旧的数据包影响其他新的连接。2、避免出现连接复用的问题:如果timewait不存在,或者时间较短,旧的连接可能依然处于网络之中,有可能被认为新的连接。
2025-11-22 15:11:38
851
原创 【SpringBoot篇】详解Bean的管理(获取bean,bean的作用域,第三方bean)
在项目中,我们自定义一个类,如果我们想把这个类交给ioc容器管理,加上@Component衍生注解即可,如果这个类不是我们自己自定义的,是我们引入第三方依赖中的,而且我们还想把这个类交给ioc容器管理,那么我们应该定义一个方法,在这个方法上加上@Bean在技术的道路上,我们不断探索、不断前行,不断面对挑战、不断突破自我。科技的发展改变着世界,而我们作为技术人员,也在这个过程中书写着自己的篇章。让我们携手并进,共同努力,开创美好的未来!愿我们在科技的征途上不断奋进,创造出更加美好、更加智能的明天!
2025-11-22 14:00:46
521
原创 【Golang】——Gin 框架中间件详解:从基础到实战
中间件是一种拦截 HTTP 请求的处理机制,通常用于在请求到达最终处理函数之前进行操作。通过中间件可以进行认证、日志记录、错误处理等操作,并且可以控制请求是否继续传递给下一个中间件或路由处理函数。在 Gin 中,自定义中间件可以通过定义一个类型的函数来实现。// 请求前println("请求开始")// 继续到下一个中间件或处理函数c.Next()// 请求后println("请求结束")// 全局应用中间件})当访问/ping。
2025-11-20 17:55:44
761
原创 SpringBoot教程(三十二) SpringBoot集成Skywalking链路跟踪
进入 D:apache-skywalking-apm-8.9.1apache-skywalking-apm-binin ,双击运行 startup.bat(7.x及以下版本 APM 包里面有包括 Agents,但是8.x的就发现被分开了,所以8.x的及以上的 就需要 Agents 也得下载。再看 Skywalking(http://localhost:8080/) 页面那边,你就会发现有个这个图(表示连接上了)启动后,控制台日志输出开头出现了以下的记录,就表示连接上Skywalking了。
2025-11-20 16:09:15
584
原创 Spring Boot集成Kafka:最佳实践与详细指南
本文详细介绍了如何在Spring Boot项目中集成Kafka,并通过最佳实践和代码示例来指导你。通过合理配置Kafka、使用KafkaTemplate发送消息、使用@KafkaListener接收消息以及处理错误和监控,你可以轻松地构建高效、可靠的消息处理系统。希望本文对你有所帮助!
2025-11-20 15:16:05
824
原创 Redis Desktop Manager(Redis可视化工具)安装及使用详细教程
如下图所示:图2.2.6.1图2.2.6.1如下图所示:图3.2.1图3.2.1。
2025-11-20 14:23:56
798
原创 SpringBoot【实用篇】- 测试
有一种情况是:当我们测试业务层或者Dao层会留下结果数据,真实的企业开发会生成两个sql文件一个数据库的表创建的sql,一个数据库初始化的sql,但是当我们在开发的时候仍然需要测试仍然会留下数据,但是我们是想着我们测试只是想看看写的代码有没有问题,不需要留下数据,下面说的方法只服务于开发,上线后的另说。答案是在这个测试类properties属性添加的临时属性配置中会覆盖yml的配置。用args配也是可以的,使用args属性可以为当前测试用例添加临时的命令行参数。能不能在测试样例中测试表现层呢?
2025-11-19 05:49:34
328
原创 Redis安装教程(超详细)
解决办法:1、改为2、将改为3、设置redis秘密,注意如果不行,可以尝试重启服务器试试设置密码后登陆需要如下图操作OK。
2025-11-19 04:34:43
309
原创 MySQL 创建新用户及授予权限的完整流程
通过以上步骤,可以创建新用户、授予权限、以及管理和删除用户。合理配置权限,确保每个用户只能访问其所需的数据资源,有助于提高数据库的安全性和管理效率。在MySQL中,权限分为多个级别,包括数据库级、表级和列级权限。可以根据用户的需求授予相应权限,常见权限有SELECT、INSERT、UPDATE、DELETE等。示例:创建一个名为gktask的用户,仅允许从本地主机(localhost)连接,密码设置为123456。以root身份可以查询所有用户,查看当前MySQL中的用户列表。
2025-11-19 02:05:13
315
原创 ERROR 1524 (HY000) Plugin ‘mysql_native_password‘ is not loaded
你遇到的错误是由于 MySQL 版本不再默认支持认证插件导致的。从 MySQL 8.0 开始,默认的认证插件是,而不是。
2025-11-19 00:45:28
369
原创 Redis内存设置
需要注意, maxmemory限制的是Redis实际使用的内存量, 也就是used_memory统计项对应的内存。由于内存碎片率的存在, 实际消耗的内存可能会比maxmemory设置的更大, 实际使用时要小心这部分内存溢出。通过命令修改(重启失效):config set maxmemory-policy allkeys-lru 命令设置内存淘汰策略,config get maxmemory-policy 命令获取当前采用的内存淘汰策略。allkeys-lru:对所有key使用LRU算法进行删除(生产推荐)
2025-11-18 11:01:46
345
原创 Nginx如何实现 TCP和UDP代理?
Nginx是一个高性能的HTTP和反向代理服务器,同时也支持TCP/UDP代理。在1.9.13版本后,Nginx已经支持端口转发,包括TCP和UDP协议。Nginx的TCP/UDP代理功能允许它作为一个中间人,接收来自客户端的TCP或UDP请求,并将这些请求转发到指定的后端服务器,然后将后端服务器的响应返回给客户端。通过这些配置,Nginx可以作为一个强大的TCP/UDP代理服务器,适用于多种应用场景,如数据库、邮件服务器、游戏服务器等。
2025-11-18 09:54:34
277
原创 MySQL中的通配符
这条语句会返回所有以 “J” 开头,中间有一个任意字符,然后是 “n” 的用户名(如 “John”, “Jane”)。这条语句会返回所有产品代码为 “P” 开头,后面跟三个任意字符且最后四位是 “001” 的产品。这条语句将会查找所有以 “A%” 开头的用户名,其中的百分号被视为普通字符而非通配符。这条语句会返回包含 “color” 或 “colour” 的单词。这条语句会返回颜色名为 “red” 或 “blue” 的记录。这条语句会返回所有以字母 “A” 开头的用户名。这条语句会返回所有电子邮件地址以。
2025-11-18 02:55:50
411
原创 MS SQL Server partition by 函数实战二 编排考场人员
现提供考场分配信息EXCEL文件(包括考场编号 、考场名称、考场容纳人数等),希望根据准考证号升序,将考生分配于对应的考场中,并生成对应的座位号(也即每一个考场的排序号),即分配原则为准考证号越小,考场号和座位号越靠前。如图我们可以看到 lzkzh 为左截取的4位准考证分类号,zkzh2为最小号,zkzh3为最大号(本考场内),像第6考场,有两个分类范围,为了便于更直观的显示数据,将其显示为一行,我们可以编写存储过程来实现这一需求。(3)将准考证号信息左连接考场座位信息,生成考生分配明细表(包装为视图)。
2025-11-18 01:50:55
332
原创 Go基础之环境搭建
Go语言,也被称为Golang,是一种由Google开发的静态类型、编译型编程语言,是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。go.mod是Go Modules的核心文件,用来定义模块及其依赖项。
2025-11-18 00:45:51
1013
1
原创 springboot接入deepseek深度求索 java
以下是在springboot中接入aideepseek的过程。官网并没有java的示例。
2025-11-17 06:00:24
193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅