自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue3使用vite-plugin-ssr实现ssr

介绍如何使用vite-plugin-ssr实现ssr模式开发一个网站

2023-05-10 21:20:20 1737

原创 Mybatis-plus使用TableNameHandler分表详解(附完整示例源码)

为什么要分表Mysql是当前互联网系统中使用非常广泛的关系数据库,具有ACID的特性。但是mysql的单表性能会受到表中数据量的限制,主要原因是B+树索引过大导致查询时索引无法全部加载到内存。读取磁盘的次数变多,而磁盘的每次读取对性能都有很大的影响。这时一个简单可行的方案就是分表(当然土豪也可以堆硬件),将一张数据量庞大的表的数据,拆分到多个表中,这同时也减少了B+树索引的大小,减少磁盘读取次数,提高性能。两种基础分表逻辑说完了为什么要分表,下面聊聊业务开发中常见的两种基础的分表逻辑。按日期分表

2021-01-26 00:06:16 6321 2

原创 轻量级mysql binlog同步工具包binlogport

使用binlog的原因近期需要重构一个老系统,需要从几个服务中实时同步订单的修改到重构表里。这里就面临两个选择,在每个服务的mysql操作前埋点,发送修改信息到队列或服务上。这种方案需要修改多个服务的代码并且测试对原系统的影响,有额外开发和测试成本。同步mysql的binlog,根据表的insert和update更新新表。但是需要维护一个binlog同步的服务本次选择了binlog同步的方式。搭建的binlog服务也可以用在之后新系统的缓存更新和同步ES索引上,相对于埋点这种只有一次性作用的方

2021-01-20 21:08:48 918 6

原创 Elasticsearch基础简介,本地环境搭建

内容概述什么是Elasticsearch,为什么要使用它?基础概念简介节点(node)索引(index)类型映射(mapping)文档(doc)本地环境搭建,创建第一个index常用RESTful Api示例新增文档查询文档-不分词类型查询文档-分词类型内容概述本文内容主要集中在应用层,通过下面几个部分介绍当前最流行的搜索工具:Elasticsearch,了解这些内容后,可以快速开始使用它。什么是Elasticsearch,为什么要使用它?基础概念:节点,索引.

2021-01-03 16:19:33 265

转载 SpringBoot系列:5.项目中使用多个数据库

内容概述本文简要介绍下,当项目使用多个数据库的时候,druid如何配置。文章目录在之前的文章,SpringBoot系列:1.快速搭建web api项目,提到可以通过很简单的配置实现数据库的访问,例如:spring: datasource: druid: url: jdbc:mysql://localhost:3306/test_db?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEnco

2020-12-13 12:54:32 1862 2

转载 SpringBoot系列:4.session和鉴权—过滤器和拦截器

内容概述本文主要介绍下,SpringBoot的web项目中,请求中session是如何被处理的 - 过滤器鉴权的实现原理 - 拦截器过滤器和拦截器的对比和应用场景1.session是如何被处理的 - 过滤器使用redis保存并共享session,可以实现集群内的登录信息共享。SpringBoot项目中,通过在application.yml增加redis的配置,即可实现对session的存储和修改。那么session是在何时被处理的?session的key又是如何生成的呢?这里实际使用了we

2020-11-29 22:46:06 2085

转载 PHP转JAVA开发30分钟实战攻略

服务端开发中,有很多知识是相通的,例如mysql,redis,http协议等。基于这些基础,在编程语言上的转变并不困难。本文主要从下面几点出发,讲述如何快速从php开发转为java开发:使用框架构建web项目 - 10min常用数据结构对应和概念转变 - 5min操作Mysql数据库和发送http请求 - 15min使用框架构建项目先看下PHP和JAVA对应的项目工具和框架:PHPJAVA项目管理工具composermaven框架Laravel或Thin

2020-11-21 19:13:10 4412 2

转载 SpringBoot系列:3.web启动流程简述

本文简要介绍下SpringBoot中,web项目启动时一些重要的流程:SpringBoot中用于web的IOC容器启动流程HTTP的url是如何和controller中的方法绑定的?常用的web项目配置参数SpringBoot中用于web的IOC容器启动流程Spring的核心就是ApplicationContext,启动流程实际就是调用其子接口ConfigurableApplicationContext的refresh()方法。在Spring中,有一个ConfigurableApplicat

2020-11-15 19:19:25 466

转载 SpringBoot系列:2.注册,登录与session

内容概述上一篇文章主要说明了,如何用很少的代码,通过SpringBoot的自动配置,实现一个读取数据库并返回数据的简单api。实际应用中,一个web服务都会有用户的注册,登录和鉴权等功能。这篇文章主要包含这几个功能的简单实现。1.注册注册的基本实现是接收到用户名和密码,并把密码加密后保存到数据库,实现如下:@RestController //定义为rest类型的控制器public class UserController { @Resource //注入MainUserService

2020-11-01 17:08:00 4097

转载 Spring中Elasticsearch使用Spel动态创建Documet类的Index

1 使用场景在一些项目中,需要在程序中根据条件,动态生成es的index,达到整理数据的目的。例如,大数据量的系统日志,需要按天分index,这时就需要动态生成Index。2 Spel动态生成Index这里使用spring-data-elasticsearch的ElasticsearchRestTemplate操作es,版本为3.2.0。<dependency> <groupId>org.springframework.data</groupId> <

2020-10-30 11:25:51 1628

转载 Maven中央仓库jar包发布全流程详解

需要4步创建sonatype账号,并提交工单设置gpgmaven环境配置deploy1.创建sonatype账号,并提交工单1.1 打开 https://issues.sonatype.org 注册账号信息都很简单,Full name随便写个就好1.2 创建工单登陆后点击Create创建工单然后开始工单信息的填写其中groupId可以直接使用com.github.xxx,当然pom里面也要和这个对应上1.2.1 如何使用个人域名作为groupId首先

2020-10-28 09:36:45 393 1

转载 Java模拟浏览器工具HtmlUnit-登陆实践

HtmlUnit简介HtmlUnit是一个可以模拟浏览器请求的java工具包,官网链接,基本实现浏览器基础功能,包括:加载js,css执行ajax处理表单保存cookies等本篇文章简单介绍HtmlUnit的一些概念和基本使用,以一个模拟登陆的实例说明,代码实例在文章最后。为什么要使用HtmlUnit不用再自己处理js和css了不用再自己处理cookies了AND XXXHtmlUnit基础类HtmlPage:页面类,即每次请求返回的html页面,会自动加载静态资源。H

2020-10-27 12:55:05 3080 2

转载 SpringBoot系列:1.快速搭建web api项目

内容概述SpringBoot最常见得用途就是web api项目。本文介绍使用自动配置功能,通过最简洁的pom依赖,快速搭建一个示例项目。实现的功能为:接收http请求并返回json格式的数据。1. 需要的pom依赖SpringBoot的一大特色就是自动配置,通过自动配置,可以极大简化pom.xml,和代码量。一个简单的web api项目需要的功能是:处理http请求,读写mysql。在实际项目中,基本都会使用mysql连接池和sql解析工具,提高性能和开发效率。这里使用了druid + myb

2020-10-27 12:00:54 1135 1

空空如也

空空如也

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

TA关注的人

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