自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SQL优化的几种方法

因为ids太多,即使能快速查出数据,但如果返回的数据量太大了,网络传输也是非常消耗性能的,接口性能始终好不到哪里去。如果实现业务场景中需要查询出另外几张表中的数据,可以在a、b、c表中冗余专门的字段,比如:在表a中冗余d_name字段,保存需要查询出的数据。除非是有些特殊的场景,比如union all之后,结果集中出现了重复数据,而业务场景中是不允许产生重复数据的,这时可以使用union。mysql会查到1000020条数据,然后丢弃前面的1000000条,只查后面的20条数据,这个是非常浪费资源的。

2023-06-20 09:53:27 565

原创 session和cookie的区别

cookie和session的区别

2023-06-19 15:48:56 941

原创 SM2加密解密

SM2是国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法。SM2 算法和 RSA 算法都是公钥密码算法,SM2 算法是一种更先进安全的算法,在我们国家商用密码体系中被用来替换 RSA 算法。随着密码技术和计算机技术的发展,目前常用的 1024 位 RSA 算法面临严重的安全威胁,我们国家密码管理部门经过研究,决定采用 SM2 椭圆曲线算法替换RSA算法。

2023-05-12 10:26:05 1100 1

转载 什么是Rest接口

这个交互过程中,REST 架构约定两个重要方面就是 HTTP 请求所采用的方法,以及请求的链接。上面我们定义的四个接口就是符合REST协议的,这几个接口都没有动词,只有名词friends,都是通过Http请求的接口类型来判断是什么业务操作。定义这样一套统一的接口,在web,ios,android三端都可以使用相同的接口,十分方便。比如,我们有一个friends接口,对于“朋友”我们有增删改查四种操作,怎么定义REST接口?URL 用来定位资源,跟要进行的操作区分开,这就意味这 URL 不该有任何动词。

2023-05-12 09:51:07 850

原创 SpringBoot整合WebSocket详细教程

springboot整合websocket

2023-04-27 14:50:14 2524

转载 Thymeleaf 教程

创建一个 HTML 模板文件:通过引入 Thymeleaf 命名空间。th:text用于处理p标签体的文本内容。该模板文件直接在任何浏览器中正确显示,浏览器会自动忽略它们不能理解的属性th:text。但这不是一个真正有效的 HTML5 文档,因为 HTML5 规范是不允许使用th:*这些非标准属性的。我们可以切换到 Thymeleaf 的data-th-*语法,以此来替换th:*语法:HTML5 规范是允许data-*这样自定义的属性的。th:*和data-th-*这两个符号是完全等效且可以互换的。但为

2023-04-26 10:52:24 819

原创 arthas的简单使用

有时候我们再生产遇到一个紧急的问题,但是不方便重新发布服务或者发布的版本没有生效,此时就可以使用Arthas来临时修改线上代码,做到不发布版本就可以实现代码动态修改。

2023-04-23 17:02:15 616

原创 MinIO是什么?

Minio 是一个基于 Apache License v2.0 开源协议的对象存储服务。它兼容亚马逊 S3 云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几 kb 到最大 5T 不等。Minio 是一个非常轻量的服务,可以很简单的和其他应用的结合使用,类似 NodeJS, Redis 或者 MySQL。

2023-04-03 10:30:28 337

原创 SpringBoot整合MinIO

没有安装MinIO的,可以点击安装,安装过的直接跳过。

2023-03-31 17:04:46 387

原创 Linux使用Docker安装MinIO

访问:http://ip地址:9090。出现以上页面表示MinIO启动成功了。命令可查看正在运行的容器。

2023-03-31 16:41:43 663

原创 Mybatis批量更新优化方案

今天在对接客户接口的时候,对方同步数据到我们系统,涉及到数据批量更新,插入的逻辑,出于性能方面的考虑,决定对自己写的逻辑进行优化,下面对几种优化方案进行总结。使用mybatisplus的saveOrUpdateBatch操作效率极低,查看sql日志可以发现,实际上还是一条一条插入的,而且在插入之前还要查询数据库是否存在该数据,耗时很久,建议不要使用。优化方案一是多条sql语句,需要数据库执行多次修改操作,而优化方案二是一条sql语句,只需要数据库执行一次修改操作。

2023-03-31 10:25:40 5171 3

原创 SpringBoot整合Shiro(超详细,适合新手学习,附有源码)

shiro是什么呢?Shiro是一个功能强大,简单易用的 Java 安全框架,提供了用户认证、授权、加密、会话管理、缓存等功能。和目前另一款Java安全框架Spring Security相比,Shiro更加轻便,易于上手。各功能点介绍Authentication:用户身份认证/登录,即验证用户是不是合法用户Authorization:用户权限验证,即验证用户是否拥有某个角色,是否拥有某个权限。

2023-03-24 15:30:25 1381

原创 tomcat部署多个web项目

tomcat部署多个war包步骤

2023-03-14 16:54:52 1206

原创 SpringBoot整合Redis实现高并发数据缓存

SpringBoot整合Redis解决高并发数据缓存

2023-03-10 10:57:00 1725

原创 拦截器和过滤器的区别是什么

过滤器和拦截器底层实现方式大不相同,过滤器是基于函数回调的,拦截器则是基于Java的反射机制(动态代理)实现的。使用范围不同:过滤器实现的是 javax.servlet.Filter 接口,而这个接口是在Servlet规范中定义的,也就是说过滤器Filter 的使用要依赖于Tomcat等容器,导致它只能在web程序中使用。而拦截器它是一个Spring组件,并由Spring容器管理,并不依赖Tomcat等容器,是可以单独使用的。不仅能应用在web程序中,也可以用于Application等程序中。

2023-03-02 10:49:46 218

转载 Redis分布式锁

今天我们就来聊聊分布式锁。

2023-03-01 14:55:39 102

原创 Redis工具类

Redis工具类

2023-02-28 16:44:20 69

原创 Springboot整合RabbitMQ

设置false,就是告诉服务器,我已经知道这条消息数据了,因为一些原因拒绝它,而且服务器也把这个消息丢掉就行。黄色的圈圈就是我们的消息推送服务,将消息推送到 中间方框里面也就是 rabbitMq的服务器,然后经过服务器里面的交换机、队列等各种关系(后面会详细讲)将数据处理入列后,最终右边的蓝色圈圈消费者获取对应监听的消息。扇型交换机,这个交换机没有路由键概念,就算你绑了路由键也是无视的。可以手动创建虚拟host,创建用户,分配权限,创建交换机,创建队列等等,还有查看队列消息,消费效率,推送效率等等。

2023-02-28 09:42:15 175

原创 RabbitMQ实现延时队列

延时队列,首先,它是一种队列,队列意味着内部的元素是有序的,元素出队和入队是有方向性的,元素从一端进入,从另一端取出。其次,延时队列,最重要的特性就体现在它的延时属性上,跟普通的队列不一样的是,普通队列中的元素总是等着希望被早点取出处理,而延时队列中的元素则是希望被在指定时间得到取出和处理,所以延时队列中的元素是都是带时间属性的,通常来说是需要被处理的消息或者任务。简单来说,延时队列就是用来存放需要在指定时间被处理的元素的队列。

2023-02-27 17:11:18 547

原创 RabbitMQ实现死信队列

死信队列其实并没有什么神秘的地方,不过是绑定在死信交换机上的普通队列,而死信交换机也只是一个普通的交换机,不过是用来专门处理死信的交换机。业务消息被投入业务队列消费者消费业务队列的消息,由于处理过程中发生异常,于是进行了nck或者reject操作被nck或reject的消息由RabbitMQ投递到死信交换机中死信交换机将消息投入相应的死信队列死信队列的消费者消费死信消息本篇文章到此结束!希望对您有所帮助。

2023-02-27 10:59:03 1613

原创 RabbitMQ安装延迟插件:rabbitmq-delayed-message-exchange

如果没有安装过,可以根据自己安装的RabbitMQ,选择下载对应的版本,然后上传至服务器。可通过以下命令查看是否安装。重启容器就可以使用了。

2023-02-23 15:14:23 976

原创 idea拉取svn项目报错:svn: E230001: Server SSL certificate verification failed

3.输入上面命令后,输入p,回车(这个命令是让svn忽略证书),然后按照提示,依次输入锁屏密码,svn账号,svn账号密码即可!做完这些,再去idea重新拉取项目就可以了。1.win+R打开命令窗口。

2023-02-23 10:39:29 562

原创 SpringBoot+AOP+自定义注解,实现日志记录/权限验证

为什么要通过AOP来实现日志记录在业务处理中,我们经常需要将一些用户操作、或系统日志记录到数据库中,并在后台做展示。一般情况下我们需要在每个需要进行记录的业务方法中做sql操作,这样一来日志记录这种非业务层面的代码就会和业务代码耦合,显得非常难看。那么有没有一种优雅记录日志的办法呢?当然是有的,以下介绍一种基于自定义注解的使用AOP来记录日志的办法。描述。

2022-12-30 15:19:27 1694

原创 SpringCloud Gateway整合swagger --Knife4j

但是在微服务springcloud项目下,业务模块众多,如果再像之前一样单独访问每个模块的 swagger-ui.html ,则非常麻烦。既然我们已经通过 nacos和gateway 实现统一访问,那我们也可以通过网关将所有的应用的swagger界面聚合起来。这样前端开发的时候只需要访问网关的swagger就可以,而不用访问每个应用的swagger。我们经常在springboot单体项目中,集成swagger来整合接口文档;浏览器访问:http://ip:gateway端口/doc.html。

2022-12-23 14:59:54 1901 3

原创 SpringCloud整合nacos

注 意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 {prefix}.{file-extension}。spring.cloud.nacos.config.file-extension 来配置。**命名空间作用:**在开发的时候,可能存在多人同时开发的情况,每个人都可以申请一个命名空间,自己用自己的,互不影响,达到服务隔离的目的。spring.cloud.nacos.config.prefix来配置。可以看到,已经读到配置文件。

2022-12-08 17:52:48 494

原创 docker部署nacos

若需要修改nacos配置的话,可以通过以下方式进行修改。

2022-12-08 16:47:50 171

原创 mybatis-plus报错BindingException Parameter ‘xxx‘ not found.Available parameters are [ew, param1]

问题:调用mybatis-plus的selectList方法的时候报了这个错原因:在mapper中定义了一个selectList方法,正好和mybatis-plus的方法重名了,mybatis在加载方法的时候用我在mapper中定义的方法覆盖了mybatis-plus的selectList方法,所以在调用mybatis-plus的selectList方法时报了参数不匹配的问题。解决方法:将自定义的selectList方法改个名字,问题解决!

2022-12-08 11:16:16 755 1

原创 使用nginx部署前端项目

使用FileZilla或者其他工具上传前端项目到nginx的html目录。浏览器访问:http://43.139.56.13/czczz-admin。浏览器访问:http://localhost/czczz-admin。将我们要执行的项目同样放到nginx下html目录下。可以看到,成功访问到前端页面并且调用了后端的接口。这样,一个简单去前后端分离项目就部署完毕了!-p: 将容器的 端口映射到主机的端口。–name: 启动容器的名字。可以看到,访问成功了。在浏览器访问主机ip。nginx安装成功。

2022-11-25 20:58:58 5601 3

原创 Centos7查看防火墙以及端口开放情况

注意:centos7默认没有 netstat 命令,需要安装 net-tools 工具,

2022-11-15 09:55:10 16221

原创 SpringCloud之Config配置中心

是一个解决分布式系统的配置管理方案的项目。它包含了Client和Server两个部分,Server端提供配置文件的存储、以接口的形式将配置文件的内容提供出去,Client端通过接口获取数据、并依据此数据初始化自己的应用目前的使用主要是通过git/svn方式做一个配置中心,然后每个服务从其中获取自身配置所需的参数也支持本地参数配置的获取。如果使用本地存储的方式,在文件添加配置即可,它会从项目的resources路径下读取配置文件。如果是读取指定的配置文件,那么可以使用来读取。

2022-11-03 18:03:08 635

原创 SpringCloud五大核心组件使用方法

Eureka概述什么是 Feign Feign 是一个声明式的 Web Service 客户端。它的出现使开发 Web Service 客户端变得很简单。使用 Feign 只需要创建一个接口加上对应的注解,比如:@FeignClient 注解。 Feign 有可插拔的注解,包括 Feign 注解和 AX-RS 注解。Feign 也支持编码器和解码器,Spring Cloud Open Feign 对 Feign 进行增强支持 Spring Mvc 注解,可以像 Spring Web 一样使用

2022-11-02 22:28:34 1355

原创 Centos7下安装Docker

3.安装所需软件包。( yum-util 提供 yum-config-manager 功能,后面是 devicemapper 驱动依赖)2.更新 yum包至最新版本。不更新可能会无法安装)6.在列出的 Docker版本中选择一个进行安装。指定版本安装,这里指定的是18.06.1。4.给 yum设置 Docker源。5.查看仓库中的 Docker版本。1.查看系统内核版本。

2022-11-02 09:56:24 103

原创 Docker安装MySql报错: 2059 Authentication plugin ‘caching_sha2_password‘ cannot be loaded

2.1:进入docker2.2:进入mysql2.3:修改认证插件mysql默认认证插件是:caching_sha2_password这个认证插件是不允许navicat软件进行登录,想要使用navicat进行登录必须修改认证插件模式为:mysql_native_password。

2022-11-01 15:53:07 355

原创 kafka常用命令

4、查看已经创建的Topic信息。5、查看topic详情。

2022-10-27 17:05:04 1201

转载 kafka知识点总结

Kafka是一种消息队列,主要用来处理大量数据状态下的消息队列,一般用来做日志的处理。既然是消息队列,那么Kafka也就拥有消息队列的相应的特性了。消息队列的好处解耦合耦合的状态表示当你实现某个功能的时候,是直接接入当前接口,而利用消息队列,可以将相应的消息发送到消息队列,这样的话,如果接口出了问题,将不会影响到当前的功能。异步处理异步处理替代了之前的同步处理,异步处理不需要让流程走完就返回结果,可以将消息发送到消息队列中,然后返回结果,剩下让其他业务处理接口从消息队列中拉取消费处理即可。流量削峰。

2022-10-27 15:31:01 289

原创 手把手教你使用Springboot整合dubbo,搭建一个微服务

由于dubbo的注册中心用的是zookeeper,所以首先需要。

2022-10-26 16:50:08 8472 1

原创 SpringBoot集成kafka-入门

kafka简单入门,开发一个HelloKafka

2022-10-24 17:09:54 1456

原创 kafka集群搭建并验证(个人亲手搭建,真实有效)

本文主要介绍 Kafka 集群搭建,本文的内容以 Linux CentOS7 作为安装演示,其他 Linux 系列的操作系统也可以根据情况参考本文的内容。

2022-10-24 15:02:31 4602

原创 java对象转换为JSON日期格式转换处理

这种格式我们用起来不是很方便, 可以利用JsonValueProcessor来实现日期的转换。

2022-10-12 15:21:40 4533

原创 java从字符串中截取手机号

【代码】java从字符串中截取手机号。

2022-10-11 17:57:28 1974

空空如也

空空如也

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

TA关注的人

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