自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ### Cause: dm.jdbc.driver.DMException: 列[URI]长度超出定义

报错信息:原因:在前端发送请求时,把过多参数放在url中引起改为用对象接受,不直接放在url中

2023-05-15 10:05:28 1272 1

原创 写算法第四天-单链表排序

思路:利用冒泡排序思想,不进行链表的指针互换,只是进行值的互换。

2023-05-06 18:33:06 160

原创 写算法第三天-两个有序链表合并排序

直到有一个链表为空,那么直接将不为空的链表追加合并链表里。两个表头相互比较,谁小谁进入合并链表。然后让小链表的下一个链表指向当前链表。思路:已经排好序了,从表头开始比较。

2023-05-06 15:00:19 160

原创 写算法第二天-冒泡排序

思路,两两比较,互换位置。

2023-05-05 17:42:25 99

原创 写算法第一天--反转链表

【代码】写算法第一天--反转链表。

2023-05-04 18:45:00 41

原创 解决com.microsoft.solserer.idbc.SolServerException:字符串转换为 wniqueidentifier 时失败

原因:数据表里d.DeptGUID设置为uniqueidentifier 字段,而传参过来的参数为Sring字符串引起。异常:sql server将字符串转换为 uniqueidentifier 时失败。

2023-05-04 12:02:46 323

原创 SpringBoot整合EasyExcel上传下载前后端

【代码】SpringBoot整合EasyExcel上传下载前后端。

2023-04-26 17:16:02 802

原创 SpringBoot整合图片文字识别

OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。

2023-01-18 11:44:10 1175

原创 搭建MinIO微服务模块

在resources中新建META-INF包,里面新键一个文spring.factories文件,写入MinIOFileStorageService类的全路径,例如下。实现类MinIOFileStorageService。第二,在微服务中添加minio所需要的配置。第一,导入你刚创建的maven工程依赖。封装操作minIO类。

2023-01-04 01:28:12 163

原创 对象存储服务MinIO

1.MinIO基于Apache License v2.0开源协议的对象存储服务,可以做为云存储的解决方案用来保存海量的图片,视频,文档。2.Golang语言实现,配置简单,单行命令可以运行起来。3.MinIO兼容亚马逊S3云存储服务接口,适合于存储大容量非结构化的数据,一个对象文件可以是任意大小,从几kb到最大5T不等。4.官网文档:http://docs.minio.org.cn/docs/

2023-01-04 01:05:12 410

原创 Freemarker指令语法

1、注释,即,介于其之间的内容会被freemarker忽略2、插值(Interpolation):即..部分,freemarker会用真实的值代替{…}3、FTL指令:和HTML标记类似,名字前加#予以区分,Freemarker会解析标签中的表达式或逻辑。4、文本,仅文本信息,这些不是freemarker的注释、插值、FTL指令的内容会被freemarker忽略解析,直接输出内容。

2023-01-03 00:59:41 1650

原创 SpringBoot整合支付宝之电脑网站支付

支付宝(中国)网络技术有限公司 [1] 是国内的第三方支付平台,致力于提供“简单、安全、快速”的支付解决方案 [2]。支付宝公司从2004年建立开始,始终以“信任”作为产品和服务的核心。旗下有“支付宝”与“支付宝钱包”两个独立品牌。自2014年第二季度开始成为当前全球最大的移动支付厂商。当用户提交订单会跳转到选择支付渠道页面!当用户点击立即支付时生成支付的二维码使用支付宝app 进行扫码支付。

2022-10-31 14:29:16 527

原创 RabbitMQ实现延迟消息

对队列设置就是队列没有消费者连着的保留时间,也可以对每一个单独的消息做单独的设置。只是在某一个设置Dead Letter Exchange的队列中有消息过期了,会自动触发消息的转发,发送到Dead Letter Exchange中去。我们创建一个队列queue.temp,在Arguments 中添加x-message-ttl 为5000 (单位是毫秒),那所在压在这个队列的消息在5秒后会消失。一个消息在满足如下条件下,会进死信路由,记住这里是路由而不是队列,一个路由可以对应很多队列。

2022-10-27 00:56:03 2844

原创 SpringBoot整合RabbitMQ

有时,业务处理成功,消息也发了,但是我们并不知道消息是否成功到达了rabbitmq,如果由于网络等原因导致业务成功而消息发送失败,那么发送方将出现不一致的问题,此时可以使用rabbitmq的发送确认功能,即要求rabbitmq显式告知我们消息是否已成功发送。有时,消息被正确投递到消费方,但是消费方处理失败,那么便会出现消费方的不一致问题。说明:开启事务会大幅降低消息发送及接收效率,使用的相对较少,因此我们生产环境一般都采取消息确认模式,以下我们只是讲解消息确认模式。

2022-10-24 22:19:34 922

原创 项目之单点登录

早期单一服务器,用户认证。缺点:单点性能压力,无法扩展分布式,SSO(single sign on)模式解决 :用户身份信息独立管理,更好的分布式管理。可以自己扩展安全策略跨域不是问题缺点:认证服务器访问压力较大。业务流程图{用户访问业务时,必须登录的流程}{单点登录的过程}

2022-10-18 02:04:38 475

原创 项目之用户认证与服务网关整合

登录时我们返回用户token,在服务网关中获取到token后,我在到redis中去查看用户id,如果用户id存在,则token合法,否则不合法,同时校验ip,防止token被盗用。3.Web页面同请求(如:*.html),我采取配置白名单的形式,凡是配置在白名单里面的请求都是需要用户认证的(注:也可以采取域名的形式,方式多多)1.所有请求都会经过服务网关,服务网关对外暴露服务,不管是api异步请求还是web同步请求都走网关,在网关进行统一用户认证。4.Api接口异步请求的,我们采取url规则匹配,如。

2022-10-18 01:47:51 294

原创 MyCat水平拆分——分表

相对于垂直拆分,水平拆分不是将表做分类,而是,每个表中包含一部分数据。

2022-09-12 00:56:39 588 1

原创 MyCat垂直拆分——分库

一个数据库由很多表的构成,每个表对应着,是指按照业务,分布到不同 的数据库上面,这样也就将数据或者说压力分担到不同的库上面,如下图:系统被切分成了,用户,订单交易,支付几个模块。

2022-09-12 00:07:30 574

原创 MyCat搭建读写分离

一主一从读写分离模式。

2022-09-11 23:50:26 209

原创 MyCat简介与安装

Mycat是数据库中间件。

2022-09-11 23:26:38 505

原创 MySql主从复制

看是否能正常运行 2)两个服务器的防火墙是否关闭,是否互相能ping通。功能说明:用于删除SLAVE数据库的relaylog日志文件,并重新启用新的relaylog文件。功能说明:删除所有的binglog日志文件,并将日志索引文件清空,重新开始所有新的日志文件。[可选]启用中继日志:relay-log=mysql-relay。主从所有配置项都配置在[mysqld]节点下,且都是小写字母。功能说明:停止I/O 线程和SQL线程的操作。[必须]从服务器唯一ID:server-id=2。

2022-09-11 22:31:05 311

原创 View视图

将一段查询sql封装为一个虚拟的表。这个虚拟表只保存了sql逻辑,不会保存任何查询结果。封装复杂sql语句,提高复用性逻辑放在数据库上面,更新不需要发布程序,面对频繁的需求变更更灵活共用查询结果报表创建使用查询更新删除5.案例总结:mysql 视图会随着表中的数据变化而动态变化!

2022-09-11 21:56:38 93

原创 查询截取分析_慢查询日志

1.在生产环境中,如果要手工分析日志,查找、分析SQL,显然是个体力活,MySQL提供了日志分析工具mysqldumpslow。假如运行时间正好等于long_query_time的情况,并不会被记录下来。默认情况下slow_query_log的值为OFF,表示慢查询日志是禁用的,全局变量设置,对所有客户端有效。但,必须是设置后进行登录的客户端。查询当前系统中有多少条慢查询记录或者直接看慢查询日志。3.慢查询日志记录long_query_time时间。对当前会话连接立即生效,对其他客户端无效。

2022-09-11 21:50:01 184

原创 查询优化_覆盖索引优化

简单说就是,select 到 from 之间查询的列使用了索引!select * from tName 不建议使用*未使用覆盖索引之前:使用覆盖索引后

2022-09-11 21:24:30 105

原创 查询优化_排序、分组优化

创建索引增加limit过滤条件,使用上索引了。## 1.2.总结:顺序错,必排序ORDER BY子句,尽量使用Index方式排序,避免使用FileSort方式排序。

2022-09-11 01:50:38 157

原创 查询优化_关联查询与子查询优化

2)left join 时,选择小表作为驱动表,大表作为被驱动表 3)inner join时,mysql会自动将小结果集的表选为驱动表。选择相信mysql优化策略。4)能够直接多表关联的尽量直接关联,不用子查询。先删除之前建立的索引!class book;1)保证被驱动表的join字段被索引。换成inner join(

2022-09-11 00:55:46 356

原创 查询优化_单表使用索引及常见索引失效

假设index(a,b,c)Where语句索引是否被使用Y,使用到aY,使用到a,bY,使用到a,b,cwhere b = 3 或者 where b = 3 and c = 4 或者 where c = 4N使用到a, 但是c不可以,b中间断了使用到a和b, c不能用在范围之后,b断了is null 支持索引 但是is not null 不支持,所以 a 可以使用索引,但是 b不可以使用不能使用索引不能使用 索引Y,使用到a,b,cY,只用到aY,只用到a。

2022-09-11 00:24:22 308

原创 查询优化_准备数据-保存50万条数据

创建往dept表中插入数据的存储过程。创建往emp表中插入数据的存储过程。

2022-09-10 23:54:10 317

原创 索引优化分析_explain

varchr(10)变长字段且允许NULL = 10 * ( character set:utf8=3,gbk=2,latin1=1)+1(NULL)+2(变长字段),返回匹配某个单独值的所有行. 本质上也是一种索引访问,它返回所有匹配某个单独值的行,然而, 它可能会找到多个符合条件的行,所以他应该属于查找和扫描的混合体。okey_len表示索引使用的字节数,根据这个值可以判断索引的使用情况,特别是在组合索引的时候,判断该索引有多少部分被使用到非常重要。显示可能应用在这张表中的索引,一个或多个。

2022-09-10 01:28:26 52

原创 索引优化分析_索引介绍

按照聚簇索引排列顺序,查询显示一定范围数据的时候,由于数据都是紧密相连,数据库不用从多个数据块中提取数据,所以节省了大量的io操作。,这样就可以运用二叉查找在一定的复杂度内获取到相应数据,从而快速的检索出符合条件的记录。3.如下图,左侧的索引就是聚簇索引,因为数据行在磁盘的排列和索引排序保持一致。这条语句创建索引的值必须是唯一的(除了NULL外,NULL可能会出现多次)。该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。1.左边是数据表,一共有两列七条记录,最左边的是数据记录的物理地址。

2022-09-09 23:09:31 142

原创 索引优化分析_预热_JOIN

随着MySQL版本的更新换代,其优化器也在不断的升级,优化器会分析不同执行顺序产生的性能消耗不同而动态调整执行顺序。7. A的独有+B的独有(查询没有加入任何部门的员工,以及查询出部门下没有任何员工的部门)3. A、B两表共有+B的独有(列出所有部门,并显示其部门的员工信息 )B的全集。2. A、B两表共有+A的独有(列出所有用户,并显示其机构信息)A的全集。4. A的独有 (查询没有加入任何部门的员工)4.求所有人,对应的掌门是谁(4种写法分析)5. B的独有(查询没有任何员工的部门)

2022-09-09 22:25:16 351

原创 MySQL架构_存储引擎简介

大于等于5.5之后,默认采用InnoDB引擎。InnoDB是MySQL的默认事务型引擎,它被设计用来处理大量的短期(short-lived)事务。可以确保事务的完整提交(Commit)和回滚(Rollback)。除了增加和查询外,还需要更新,删除操作,那么,应优选选择InnoDB存储引擎。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。

2022-09-09 21:46:51 50

原创 MySql数据结构以及时间复杂度

B-Tree树即B树,B即Balanced,平衡的意思。•B-Tree即B树,Balance Tree,平衡树。•2-3树是最简单的B树结构。•B树的阶:节点的最多子节点个数。比如2-3树的阶是3,2-3-4树的阶是4。•B树通过重新组织节点,降低树的高度,并且减少IO读写次数来提升效率。•关键字集合分布在整颗树中,即叶子节点和非叶子节点都存放数据。B+Tree 即B+树:•B+树是B树的升级版本,

2022-09-09 21:15:51 1511

原创 MySQL架构_逻辑架构

如:select * from mydb.mytbl where id=2 和 select * from mydb.mytbl where id>1 and id

2022-09-09 09:24:26 54

原创 MP实现自动填充

1.乐观锁多个线程访问不拦截,更新操作时会更新版本号,其他进行更新时,版本号不一样操作失败,例如redis等非关系型数据库。在User表中添加datetime类型的新的字段 create_time、update_time。2.悲观锁直接锁住,其他线程阻塞,例如mysql。(3)添加乐观锁注解。

2022-08-23 02:58:33 596

原创 SpringCloud配置中心Nacos

Spring Cloud Config为分布式系统的外部配置提供了服务端和客户端的支持方案。在配置的服务端您可以在所有环境中为应用程序管理外部属性的中心位置。客户端和服务端概念上的SpringEnvironment 和 PropertySource 抽象保持同步,它们非常适合Spring应用程序,但是可以与任何语言中运行的应用程序一起使用。当应用程序在部署管道中从一个开发到测试直至进入生产时,您可以管理这些环境之间的配置,并确保应用程序在迁移时具有它们需要运行的所有内容。

2022-08-22 13:21:06 4017

原创 canal微服务搭建

在 canal\spring-boot-starter-canal-master 中有一个工程 starter-canal ,它主要提供了SpringBoot环境下 canal 的支持,我们需要先安装该工程,在 starter-canal 目录下执行。创建canal微服务工程,通过连接canal服务器,监控mysql的binlog,当mysql分类数据发生改变时,我们同步数据库数据到redis中,这样做到mysql和redis数据同步。

2022-08-22 01:25:12 462

原创 canal安装以及介绍

进入容器,修改核心配置canal.properties 和instance.properties,canal.properties 是canal自身的配。(1) 连接到mysql中,并修改/etc/mysql/mysql.conf.d/mysqld.cnf 需要开启主 从模式,开启binlog模式。3.阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务。1.canal可以用来监控数据库数据的变化,从而获得新增数据,或者修改的数据。(3)重启mysql容器。

2022-08-22 00:48:50 384

原创 OpenResty介绍

OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,由中国人章亦春发起,其内部集成了大量精良的 Lua库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。OpenResty® 通过汇聚各种设计精良的 Nginx 模块(主要由 OpenResty 团队自主开发),从而将Nginx有效地变成一个强大的通用 Web 应用平台。

2022-08-22 00:19:50 190

原创 Lua基本语法

全局变量,默认的情况下,定义一个变量都是全局变量,-- 全局变量赋值a = 1 -- 局部变量赋值如果变量没有初始化:则 它的值为nil 这和java中的null不同。

2022-08-22 00:01:52 342

空空如也

空空如也

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

TA关注的人

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