自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

55555的博客

让学习成为一种习惯

  • 博客(287)
  • 资源 (1)
  • 收藏
  • 关注

原创 elastic:nested实现对满足条件的数组元素聚合查询

某些业务场景下,我们要对数组元素进行聚合查询,就需要用到nested数据类型,但部分场景是针对数组中指定的元素进行聚合,于是就需要对数组元素进行限定,今天来看看这种场景如何实现。

2023-12-18 21:24:23 970

原创 redis: 记录一次线上redis内存占用过大问题解决过程

记录一次线上redis占用过大的排查过程,供后续参考。

2023-11-07 20:23:39 2931

原创 spring:实现初始化动态bean|获取对象型数组配置文件

近期因为要完成实现中间件的工具包组件,其中涉及要读取对象型的数组配置文件,并且还要将其加载为bean,因为使用了版本,很多springboot的相关特性无法支持,因此特此记录,以方便后续同学有相同情况可以参考。

2023-09-19 09:02:24 3346

原创 solr快速上手:聚合分组查询|嵌套分组指南(十二)

group用于实现简单的聚合分组查询、数值计算等facet与group有些相近,都是做分组查询的,但是facet允许用户再对结果集进行二次处理,也就是支持嵌套聚合,也可以对分组数量进行排序、过滤等,group会返回每个分组详细的数据列表docs,而facet并不会返回每个分组的docs,只是返回一个统计指标。facet与group可以结合使用。facet分组查询支持4大类型:facet.query: 自定义查询分组facet.field:按字段分组facet.range: 范围查询分组。

2023-08-19 22:09:39 4413

原创 Elastic:linux设置elasticsearch、kibana开机自启

每次启动服务器都要手动启动es服务,相当之不方便,为此,书写一个脚本,实现es、kibana的开机自启。

2023-08-08 08:00:00 2663

原创 Elastic:像mybatis-plus一样优雅的书写es客户端代码——Easy-Es

Easy-Es是以elasticsearch官方提供的为基础,而开发的一款针对es的ORM框架,类似于es版的mybatis-plus,可以让开发者无需掌握es复杂的DSL语句,只要会mysql语法即可使用es,快速实现es客户端语法条件构造器上述演示,我们构造查询条件时,使用了EsWrapperseasy-es 条件构造器介绍索引托管如果想要自动根据创建的es实体类来创建对应的索引,那么只需要调整索引的托管模式为非手动模式即可,因为这里我不需要自动同步数据,所以选择非平滑模式。

2023-08-06 16:45:52 1659

原创 springcloud:对象存储组件MinIO(十六)

MinIO是一个使用go语言开发的,开源的对象存储组件,能够提供高性能、高可用的数据存储能力,支持分布式部署,提供数据加密、访问控制、版本控制、生命周期管理和事件通知等功能。它还支持高级特性,如分片上传和分片下载,以提高大文件的处理效率。Object Browser: 对象管理页面,minio中所有的桶和桶中的文件都可以在这个页面查看,这里的桶 bucket,大家可以简单的理解为文件夹- Buckets: 桶管理页面,用于管理桶相关的配置,比如桶的访问权限、桶的生命周期(桶中文件保留几天)

2023-08-05 23:26:00 825

原创 solr快速上手:搭建solr集群并创建核心,设置数据同步(十一)

自此,我们针对solr集群的搭建,核心创建,数据同步都讲解完了,同时还需要改变的呢,是我们客户端连接时的代码,要调整为集群模式,这个我们在下一章继续讲解。

2023-07-10 23:08:52 3349

原创 mac pro m1:搭建zookeeper集群并设置开机自启

之前我们讲解过,但在实际生产中,为了保证服务高可用,通常我们是采用集群模式。所以本次我们来实操集群模式的搭建。

2023-07-02 17:52:50 1729

原创 solr快速上手:整合spring-data-solr实现客户端操作(十)

首先如果你还不知道spring-data相关工具包如何查看官方文档的,这里给大家统一说明一下1、spring-data的所有文档都可以在这个路径下看到2、找到solr,点击进去3、选择docs,即文档,然后选择当前版本current,如果你要直接查看指定版本的也可根据版本号访问4、进入后选择reference,再选择html,即可进入官方说明文档spring-data-solr官方文档一定要善用官方文档,这可以帮助我们少走很多弯路。

2023-06-25 11:59:36 1033

原创 java:实现用户扫码二维码自动跳转指定链接功能

近来接到要实现链接转二维码的需求,通过提供二维码给用户,让用户扫描后自动访问指定的H5页面,从而实现业务流转,这样的功能其实在其他很多场景也会用到,比如资产管理系统中,扫码资产二维码,从而实现库存盘点、自动入库、自动出库等功能今天就这类需求场景,给大家做一个讲解示例

2023-06-17 14:35:32 3693

原创 solr快速上手:整合SolrJ实现客户端操作(九)

SolrJ是 Solr官方提供的 Java 客户端库,主要用于与 Solr 服务器进行交互。内部封装了一组API,可以方便地实现对solr服务端的各类操作。使用 SolrJ,可以通过编写 Java 代码来实现对 Solr 的索引操作,比如增删改查。同时,SolrJ 还支持多种查询方式,如简单查询、复杂查询、分页查询、聚合查询等。同时也包括了对solr的索引管理、权限控制等操作更多的客户端操作,还要大家自己去探索,但是直接使用SolrJ还是感觉有些复杂,能不能更加简易地实现客户端操作呢,那就要提到我们的。

2023-06-14 20:11:19 1772

原创 solr快速上手:常用查询语法(八)

solr作为搜索引擎,就像我们使用mysql一样,在日常业务中,更多接触的则是各类操作语法,所以今天,我们再来学习solr的常用查询语法,为大家在工作中最基本的solr查询打下基础。

2023-06-10 22:48:47 2700

原创 solr快速上手:配置IK中文分词器(七)

IK中文分词器是一个国人开源的,基于java开发的轻量级中文分词器,能够实现对中文进行自然语言处理,并且支持自定义分词库,IK分词器本身也支持英文和数字的分词,满足中英文混合的业务场景。为什么需要中文分词器?我们可以在solr Analysis中进行分词,采用默认的英文分词器,可以看到中文被切分成了单个汉字,而按照自然语言来讲,我们更希望将其分词为俺中国man,这样本身也符合语言习惯,同时不用单个字分词,也节约了存储空间,所以我们需要更加灵活的中文分词器这种。

2023-06-10 14:15:25 2246

原创 solr快速上手:实现从mysql定时自动同步数据(六)

至此我们数据定时同步的简单实现就完成了,当然你也可以选择其他的定时任务框架,或实现方式,但是实现思路是不变的,同时我们这里是通过http直接调用的同步接口,实际上我们引入solr客户端后,还可以使用solr客户端提供的方法来实现,但核心原理依然相同!

2023-06-08 00:04:11 1581

原创 solr快速上手:配置从mysql同步数据(五)

mysql同步solr的核心在于配置文件的书写,当发现有错误时,可以通过服务端日志排查具体错误。但数据同步还未完成,我们目前还没有实现自动的同步,还需要手动点击同步,下一节继续讲解,solr从mysql自动同步数据。

2023-06-04 02:28:42 1749

原创 solr快速上手:创建核心/索引/core(四)

本次我们来创建一个订单索引,该索引包含如下字段,并且设置从数据库同步数据字段说明数据类型id订单idlongorder_no订单号string商品名称string创建时间date创建人stringremarks备注stringstatus订单状态intaddress地址stringlabels商品标签(多个)string。

2023-06-01 00:42:50 1448

原创 solr快速上手:managed-schema标签详解(三)

core核心是solr中的重中之重,类似数据库中的表,在搜索引擎中也叫做索引,在solr中索引的建立,要先创建基础的数据结构,即schema的相关配置,今天继续来学习solr的核心知识:

2023-05-28 00:14:58 1555

原创 solr快速上手:核心概念及solr-admin界面介绍(二)

我们打开solr的管理界面,会发现页面分成了5个部分Dashboard solr的基本信息如下图所示,可以看到solr的版本、java版本等基础信息Logging 日志非常重要的页面,当solr出现问题,比如数据库data-import同步失败时,就可以通过该页面查看日志详情,从而来进行排错,擅用Logging页面,将会为你节约大量的排错时间Core Admin 核心/索引管理,类似数据库表管理如下图所示,我们可以在Core Admin中进行数据的同步、查询、新增修改、配置文件的查看等。

2023-05-21 16:46:29 1243 1

原创 solr快速上手:solr简介、安装并设置开机自启(一)

solr是基于构建的用于搜索和分析的开源组件,这一点与es一样,作为搜索引擎自然支持分词查询、海量数据查询、高亮显示等solr是基于java开发的,内嵌了jetty容器,安装简单,同时自带了一个管理端,这一点比es相比不用再额外再安装一个kibana。

2023-05-11 01:23:16 1468

原创 jetcache:阿里这款多级缓存框架一定要掌握

jetcache是阿里开源的基于java开发的缓存框架,支持多种缓存类型:本地缓存、分布式缓存、多级缓存。能够满足不同业务场景的缓存需求。jetcache具有上手简单、性能高效、拓展性强的特点。支持缓存预热 、缓存key前缀等功能。结合spring-cache使用,可以实现十分优雅的缓存类型切换。

2023-05-06 07:45:00 2607

原创 linux系统中删除环境变量没有生效|linux如何删除环境变量

今天在书写shell脚本读取环境变量时,发现取消环境变量后一直不生效,记录一下解决方法,以供后续参考

2023-05-05 22:17:29 875

原创 springcloud:新一代分布式定时任务框架——PowerJob

PowerJob是基于java开发的企业级的分布式任务调度平台,与xxl-job一样,基于web页面实现任务调度配置与记录,使用简单,上手快速,因此迅速得到用户的欢迎。相对于其他定时任务框架具有无锁化设计,更强悍的性能支撑,我们通过官网的产品对比可以了解详情。定时任务类型与传统的定时任务框架对比,powerJob支持更多的定时任务类型:API: 通过客户端提供的api接口触发,服务端不会主动调度,适用于与业务服务上下连接或只调度一次的业务场景。

2023-05-03 22:17:33 7878

原创 springboot:缓存不止redis,学会使用本地缓存ehcache

ehcache是基于java开发的本地缓存组件,无需单独安装部署,只要引入jar包就可利用它来实现缓存。所谓本地缓存,就是指存储在JVM堆内存中的临时缓存数据,当然ehcache本身也支持Off-Heap Store机制来使用堆外内存,本地缓存相较于redis性能和响应速度更高。Ehcache的本地缓存还支持过期时间、最大容量、持久化等特性,使得它可以适用于各种不同的缓存场景。

2023-04-22 02:04:49 6136 1

原创 JVM:线上服务CPU爆满,如何排查(三)

前一段时间出现了一个正则表达式引起的线上CPU爆满的问题,一开始没有在第一时间定位到问题,这里也特此记录一下,同时也系统的梳理下CPU爆满问题的排查思路和方法,为后续的同学提供参考。

2023-04-15 20:20:14 4328

原创 flyway:数据库移植框架,再也不用担心历史版本表结构管理问题

flyway是一款基于java开发的,数据库移植组件,支持所有的JDBC数据库flyway会在项目启动时,扫描指定路径下的所有sql脚本,同时会维护一张记录表,将扫描的sql脚本与中的记录对比,如果记录与指定路径下的sql脚本不一致(修改了历史的sql脚本),则会进行报错;如果比对一致,则会执行记录中没有的sql脚本。综上,使用flyway来做多版本的数据库结构管理,是比较方便和快捷的,去尝试下吧。

2023-04-10 00:00:00 846

原创 springcloud:xxl-job的任务触发机制及调度过期策略

我们都会用xxl-job,但很少有人能够说清楚xxl-job的任务触发机制,面临任务阻塞、服务重启如何处理任务,本期我们就来一起看看xxl-job的任务触发机制。

2023-04-05 22:59:15 4515

原创 springcloud:快速上手定时任务框架xxl-job(十五)

xxl-job是分布式的任务调度平台,以作者名字命名,以其轻量、可视、易上手迅速在微服务框架下站稳脚跟。xxl-job分为服务端和客户端,客户端也就是我们的定时任务方法实现,也称为执行器,而服务端用来管理定时任务配置以及记录执行情况,也称为调度器至此,咱们针对定时任务框架xxl-job的讲解就结束了,自己搭建起来试下吧。

2023-04-01 23:59:41 3451

原创 JVM:利用jstat查看GC信息及堆内存设置(二)

上一章我们讲解了排查OOM问题的思路和基本操作这一节,我们接着讲解如何解读垃圾回收(GC)频率、效率等信息

2023-03-26 19:58:34 3626

原创 JVM:全面理解线上服务器内存溢出(OOM)问题处理方案(一)

OOM问题的实际原因各种各样,就像我们开发时遇到的空指针错误,导致的原因可能有很多,但是排查的思路却差不多,大家之所以对OOM问题避而远之,是因为不能直接看到报错的代码位置,这一点需要我们借助jhatjmapMAT等工具来实现。但只要大家多操作,多积累经验,你会发现这个的排查也没有那么难,那么下期我们将结合实际的线上案例,来一起带大家推导OOM问题解决。

2023-03-18 21:42:48 6626 2

原创 mac pro m1:安装dump文件内存分析工具——MAT

如果使用的是eclipse可以在插件中直接安装MAT,因为我使用的是idea开发,所以选择独立安装MAT工具。这里我选择1.7.0版本,之前尝试了1.8.0,1.8.1版本,安装后页面显示不出来,谨慎选择。选择你需要的版本,这里我选择的mac arm架构版,注意这里最新版1.14需要jdk17+9、再次打开MAT发现运行正常,新打开一个dump文件进行分析,也正常运行,安装成功!6、重新打开MAT,出现如下界面,说明安装成功。当发现出现dump文件夹后,关闭命令窗口。2、如果是mac,可能会出现。

2023-03-18 21:01:26 9175 1

原创 springcloud:3种办法解决feign调用参数为实体类的GET接口

最近在讲解关于feign的组间调用,遇到了调用参数为实体类的GET请求报错或者参数获取为空问题,于是统一记录解决办法,方便大家后续参考

2023-03-09 00:07:54 4100

原创 mysql进阶:设置了事务注解 @Transactional但未生效|手动事务回滚

有同学遇到设置了事务,但是也报出了错误,但是一致未生效的问题,事务没有回滚,rollbackFor也设置成了捕捉全部报错Exception,那么这是怎么回事呢,其实原因很简单。

2023-03-07 00:42:40 914

原创 redis进阶:mysql,redis双写一致性,数据库更新后再删除缓存就够了吗?

最近线上的一个状态修改功能出现了问题,一开始是运营找了过来,运营告知某条数据的状态已经开启了的,但是实际使用起来还是没有生效,于是拿到这个问题后,首先就去数据库查了这条数据,发现确实如他所说,状态数据是已经更改过的。但是为什么没有生效呢?于是再次查看了获取数据的方法,发现是优先获取的缓存,于是查询缓存里的数据,发现了问题所在,缓存里并没有将这条数据的状态更改过来,也就是缓存数据不一致问题。继续追查状态修改的方法,发现采用的更新方式是先更新数据库,然后删除缓存。

2023-03-07 00:18:52 3179 3

原创 typora每次复制文档都要附带图片文件夹?学会配置gitee图床

我们通过chatGPT得到答案,可以看到就是一个图片存储服务器。但我们自己又没有服务器,那怎么构建呢。我们可以利用gitee提供的图床服务来实现。

2023-02-10 00:14:05 1972

原创 springboot:接手老项目,领导让更新数据库说明文档,如何3分钟完成任务

screw是用来生成数据库表结构说明文档的组件,通过引用jar包,通过简单的配置就可以自动生成文档,相当于数据库中的swagger,支持html, word, md三种格式的文档如上所示,我们的数据库说明文档就做完了,当然我在实际项目中的数据库比上述演示的要大的多,但数据库越大,我们省的时间就越多。

2023-01-11 00:14:15 3864 6

原创 springboot:用kkFileView轻松实现文档在线预览功能【附带源码】

kkFileView本身基于openOffice实现,是一款国产的开源文档在线预览组件。支持的预览文件格式如下:支持word excel ppt,pdf等办公文档支持txt,java,php,py,md,js,css等所有纯文本支持zip,rar,jar,tar,gzip等压缩包支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像)支持mp3,mp4,flv等多媒体文件预览本身通过rest接口提供预览服务,即组件部署后,通过将文档url作为入参,以rest接口形式来预览文档。

2023-01-04 23:19:14 3617

原创 GIT:如何删除仓库中的.idea .DS_Store target文件/文件夹并设置下次不上传

我们常常会有在git仓库初始化时,忘记设置.gitignore文件导致一些非工程文件上传到仓库中了,导致整个仓库的不美观,甚至影响其他开发同事配置代码。这时候我们就需要删除这些指定文件,那么如何操作呢,这一章我们就来讲解这个问题。

2022-12-23 19:10:52 2365

原创 redis:基于springboot与jedis实现客户端操作

如上,我们关于redis客户端jedis的操作演示就结束了,更多关于jedis接口的使用需要我们自己去摸索,将其封装为工具类,下一期,我们继续讲解其他redis客户端。

2022-12-23 01:50:16 973

原创 mac pro M1(ARM)安装:解决centos/ubuntu无法使用yum安装软件

之前我们介绍了在mac M1中如何安装centos/ubuntu。但是很多同学反馈无法使用yum安装软件,这是因为默认的镜像源不支持arm架构的软件。这导致我们的软件安装成为问题。今天我们就来看如何解决这个问题。1、原来利用yum安装软件,最后会报错如下图,安装mysql为例:2、因为我们的核心问题是yum源没有适配arm架构的软件,那么是不是有适配arm架构的yum源呢,就像专门下载arm架构的软件网站一样,实际上是有的,我们通过访问阿里巴巴的镜像源地址:阿里巴巴镜像源地址3、可以看到一个镜像源,当然如果

2022-12-04 19:20:43 4326 2

MSMQJAVA.rar

java远程向MSMQ队列发送消息,接收MSMQ消息所用jar包、dll文件等

2019-09-03

空空如也

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

TA关注的人

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