一. 异常描述最近大连九哥有一个学生,在做项目时碰到了一个“奇怪”的问题,他发现当他在浏览器地址栏中输入接口的url地址后,浏览器中返回的响应内容不是json格式,而是xml格式,这个问题困扰了他一个下午。二. 案例代码这个问题其实也是Springboot面试时的常见问题,即Springboot对于响应结果的“仲裁机制”。为了可以让大家能够详细的了解这个异常的产生原因,九哥给大家编写一个简单的案例
今天用Spring boot编写一个文件上传功能,本来自信满满,觉得简单,实际做起来发现报各种错,百度上的好多解决办法都是复制粘贴,没一个靠谱的,经过我的东凑西补最终完美实现上传功能。一、导入jar包<dependency> <groupId>commons-fileupload</groupId> <art
转载 2024-06-01 21:32:28
58阅读
### MySQL 数据 查询是怎么回事? 在使用MySQL数据库的过程中,我们经常会遇到查询数据变慢的情况。其中一个常见的原因是数据量过大,导致查询效率下降。本文将介绍MySQL数据查询的原因,并提供一些优化策略来提高查询效率。 #### 数据量对查询性能的影响 MySQL是一个关系型数据库管理系统,通常用于存储和管理大量结构化数据。当数据量逐渐增加时,查询操作可能会变得缓慢。这主
原创 2023-09-07 07:13:13
338阅读
MYSQL单表数据量过大查询过慢配置优化innodb_buffer_pool_size 实践笔记0.问题场景注意独立服务器共享服务器 0.问题场景有张表,里面有300多万数据, 使用select count(1) from table 查询的时候要好几分钟,查过资料后添加了innodb_buffer_pool_size参数,然后就1秒就查出来了。innodb_buffer_pool_size=4
在从服务器上执行show slave status;可以查看到很多同步的参数,我们需要特别注意的参数如下,希望文章对各位会有所帮助。在从服务器上执行show slave status;可以查看到很多同步的参数,我们需要特别注意的参数如下:Master_Log_File: SLAVE中的I/O线程当前正在读取的主服务器二进制日志文件的名称Read_Master_Log_Pos: 在当前的主服务器二进
【问题】实例删除大事务之后,kill时间较长, 运行中【建议&注意事项】 超大事务执行期间被 kill。这时候,回滚操作需要对事务执行期间生成的所有新数据版本做回收操作,这种场景耗时会比较长。建议:1. 通过影响系统环境,让这个 Killed 状态尽快结束。比如:临时调 innodb_thread_concurrency 的值,或者停掉别的线程;2. 通过减少系统压力让它加速。目前看 i
基础概念网关设备:能够直接连接云平台的设备,如遥控器、疆机场均为网关设备MQTT: 物联网通用的MQTT5.0标准协议,是一个客户端服务端架构的发布/定义模式的消息传输协议。Pilot当pilot2与云平台建立mqtt连接后,进行设备绑定后。 设备向云平台推送消息,topic为sys/product/{gateway_sn}/status 进行设备上线// 设备上线 { "tid": "xx
系列文章目录三级等保之数据库加解密技术方案预言分析篇(一)三级等保之SpringBootMybatis数据安全(二)数据库内容加密后支持模糊搜索功能(三) 文章目录SpringBoot之Mybatis数据安全(二) 前言 一、Mybatis数据安全实现大致思路二、使用步骤1.建立Maven工程引入全球公共中央仓库pom2.配置pom组件基础项3.配置对应持久层映射关系(ORM)4.启动验
转载 2024-04-12 11:35:35
75阅读
业务开发中,有很多场景会有比较耗时的操作比如需要调用第三方接口查询数据、发邮件等都有可能需要1秒以上的时间如果按照传统的方式处理,即是线程阻塞1秒以上的时间去等待结果,再把结果返回给用户而且处理请求的线程池中线程数总是有限的,如果线程都阻塞在等待中,后续的请求只能排队等候这也就影响到了服务器的并发处理能力为了让请求的线程尽早的释放出来,就需要使用异步方式处理耗时的请求简单的思路就是当有耗时操作时,
转载 2024-02-22 19:54:42
90阅读
背景开发移动端H5页面面对不同分辨率的手机面对不同屏幕尺寸的手机 视觉稿视觉稿。 对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点:首先,选取一款手机的屏幕宽高作为基准(以前是iphone4的320×480,现在更多的是iphone6的375×667)。对于retina屏幕(如: dpr=2),为了达到高清效果,视觉稿的画布大小会是基准的2倍,也就是说像素点个数是原来的
1.进入官网https://www.elastic.co/cn/2.查找api文档3.找到该导入的依赖:<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifa
转载 2024-05-21 17:43:52
51阅读
MySQL 表优化方便记忆单表优化字段索引查询SQL引擎读写分离缓存分区分区的好处分区的限制和缺点分区的类型分表垂直拆分水平拆分分库兼容MySQL且可水平扩展的数据库 方便记忆方案一:优化现有mysql数据库。优点:不影响现有业务,源程序不需要修改代码,成本最低。缺点:有优化瓶颈,数据量过亿就玩完了。方案二:升级数据库类型,换一种100%兼容mysql的数据库。优点:不影响现有业务,源程序不需
[一]redis的数据为什么要持久化--->redis的存取数据性能高,是由于将所有数据都存储在内存中。当redis重启的时候,存储在内存中的数据就容易丢失。--->把redis作为数据库使用。--->把redis作为缓存服务器,但缓存被穿透后会对性能造成很大的影响,所有缓存同时失效会导致缓存雪崩,从而使服务无法响应。--->因此我们希望redis能将数据从内存中以某种形式
转载 2023-12-14 20:03:28
72阅读
前言:在项目中遇到过大数据进行双表联查,但是查询条件不是主键查询速度非常的,这时候就需要添加索引。 在项目中,使用多表联查的时候数据量少的查询速度非常快,但是由于数据量慢慢增大查询速度会变得越来越慢,这个时候就考虑建立索引。 建立索引我们不能随便乱建立,我们知道索引能够提高查询效率,但应该如何建立索引?索引的顺序如何?下面我们了解下索引。索引目的:索引的目的在于提高查询效率,可以类比字典,如果要
Spring Data项目是Spring用来解决数据访问问题的一揽子解决方案,Spring Data是一个伞形项目,包含了大量关系型数据库以及非关系型数据库的访问解决方案.Spring Data使我们可以快速且简单地使用普通的数据访问技术及新的数据访问技术Spring Data为我们使用统一的API来对上述的数据存储技术进行数据访问操作提供了支持.这是Spring通过提供Spring Data C
转载 2024-03-21 01:07:49
45阅读
# 解决MySQL数据删除速度的问题 ## 问题描述 在使用MySQL数据库时,当数据量较大时,执行删除操作速度可能会变得非常。这可能会影响系统性能和用户体验。本文将介绍造成这种情况的可能原因,并提供一些解决方法。 ## 原因分析 造成MySQL数据删除速度的原因可能有多种,其中包括: 1. **索引失效**:如果删除操作的列没有索引,MySQL将对整个表进行扫描,导致速度变慢。 2.
原创 2024-04-12 07:16:22
116阅读
# Mysql删除数据的解决方法 ## 1. 概述 在MySQL数据库中,当删除表中的数据时,可能会遇到删除操作执行缓慢的问题。这种情况通常发生在表中包含大量数据的情况下,因为删除操作需要扫描整个表,消耗大量时间。本文将介绍如何解决这个问题,帮助刚入行的小白快速实现删除数据表的效率提升。 ## 2. 解决流程 下面是解决"mysql删除数据"问题的流程图: ```merma
原创 2023-08-21 06:12:26
394阅读
在我之前的文章 “Elasticsearch:Java 运用示例” 我讲述了在客户端如何使用 Elasticsearch 所提供的 API 来访问 Elasticsearch 的数据。在很多的应用场景中,这是非常有效的一种方法。但是,如果我们的 Elasticsearch 由于升级的缘故,那么 API 的使用可能有所变化。这对于一些场景来说,并不是一种很好的方案。在实际的使用中,我们可以使用一个
转载 2024-03-29 12:23:18
241阅读
Spring boot 缓存1. spring cachespring cache 是spring 3.1 引入的新技术,核心思想:调用一个缓存方法时会把该方法参数和返回结果,作为一个键值存入缓存中,等到下次使用同样的参数调用该方法时,不在执行该方法,直接从缓存中获取结果进行返回,从而实现缓存功能。Spring 中提供了3个注解来实现缓存。@Cacheable@CachePut@CacheEvic
转载 2024-04-24 13:47:33
95阅读
@Async之SpringBoot异步处理为了提高接口的返回速度,常用的手段是热数据的缓存和异步处理请求。如一个接口需要查询多个表的数据做处理,需要对查询结果缓存起来,以便提高后面的请求反应速度时,可以通过一个异步处理来把结果缓存起来,这样既不耽误第一个请求的返回速度,也能提高后面请求的返回速度。使用步骤1. 把异步处理的业务代码放在一个独立的方法内部,在方法上面贴上@Async注解。@Async
转载 2024-03-23 14:17:24
114阅读
  • 1
  • 2
  • 3
  • 4
  • 5