自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JetCache多级缓存实现用户信息快速查询

也就是说我们的一次查询,会先查询本地缓存,如果本地缓存查不到,再查询分布式缓存。除此之外,JetCache 还提供了@CreateCache、@CacheUpdate等常用注解,这就是我们基于缓存的自动更新+失效,来保证缓存的一致性的一般做法。cacheType:缓存的类型,支持:REMOTE、LOCAL、BOTH,如果定义为BOTH,会使用LOCAL和REMOTE组合成两级缓存。在我们的项目中,经常会需要查询用户信息,比如前端页面需要展示,用户校验权限需要,可以说我们做的几乎所有操作都需要查询。

2024-07-31 11:33:40 480

原创 BloomFilter的使用介绍

在我们的日常编码中,用户名是不能重复的,因为在项目中,用户名的唯一性很重要,很多时候我们都需要依据用户名来确保整个链路上的参与者的唯一性,虽然用户 id 也是唯一的,但是页面上展示的时候不能用 id 呀。实际编码中为了实现用户在注册,改名的时候的用户名的唯一性,我们一般是先从数据库查询是否存在,不存在则让用户注册。但是为了考虑到性能,我们会把用户名存储到缓存中,一般使用 redis 缓存。那既然都用了缓存了,那还不如干脆直接就用布隆过滤器来存储,既可以做重复校验,又能节省空间。

2024-07-31 10:54:16 422

原创 springboot3.x如何定义一个starter

之前springboot2.x时,我们配置这些Configuration的时候会用spring.factories,但是这个已经被官方标记为过期,不建议使用了。到此我们就定义好了一个starter,只需要在需要的地方引入,并且配置上我们定义在XXXProperties中的配置项就OK啦。在starter项目中,创建自动配置类xxxProperties。1.在pom.xml文件中引入spring-boot-starter 依赖。注解来条件化地配置beans。4.创建配置类入口文件。注解,并根据条件使用。

2024-07-24 16:09:43 369 1

原创 Java服务远程Debug

点击应用之后就可以进行debug了,需要注意的是一定要打开远程服务器上的5005端口。1.启动服务时,参数配置上 debug 相关内容。2、本地 IDEA 中配置 debug 连接。需要注意的是jdk8和之后的版本有一些区别。

2024-07-24 10:09:02 222

原创 如何指定dockerfile中From后的基础镜像从本地获取

在 Dockerfile 中,FROM指令用于指定基础镜像。如果你想要指定从本地获取基础镜像,而不是从远程仓库(如 Docker Hub)拉取,你可以使用命令的参数配合ARG指令在Dockerfile中动态设置FROM指令。以下是具体步骤:首先确保你已经在本地拥有想要使用的镜像。在 Dockerfile 中,使用ARG指令定义一个参数,然后用该参数作为FROM指令的一部分。

2024-06-17 10:35:46 2506 1

原创 基于Redisson的超时订单关闭方案

基于redisson的超时订单关闭方案

2022-11-12 17:39:44 2036 2

原创 Java下载文件,中文文件名乱码问题解决

初始是这样的String downloadfile = URLEncoder.encode(filepath,"UTF-8");response.addHeader("Content-Disposition","attachment;filename=" + downloadfile );乱码就是乱在;filename=" + downloadfile 这里,对文件名的编码设定上。使用URLEncoder.encode(filepath,"UTF-8")虽然可以解决在提示下载框中正确显示汉字

2021-09-10 08:37:51 8090 14

转载 MySQL 百万级数据,怎么做分页查询?

方法1: 直接使用数据库提供的SQL语句 语句样式:MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N 适应场景:适用于数据量较少的情况(元组百/千级) 原因/缺点:全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3). Limit限制的是从结果集的M位置处取出N条输出,其余抛弃. 方法2:建立主键或唯一索引, 利用索引(假设每页10条) 语句样式:MySQL中,可用如下方法: ...

2021-05-06 10:01:02 308

原创 sso单点登录的原理详解

单点登录全称Single Sign On(以下简称SSO),是指在多系统应用群中登录一个系统,便可在其他所有系统中得到授权而无需再次登录,包括单点登录与单点注销两部分。单点登录相比于单系统登录,sso需要一个独立的认证中心,只有认证中心能接受用户的用户名密码等安全信息,其他系统不提供登录入口,只接受认证中心的间接授权。间接授权通过令牌实现,sso认证中心验证用户的用户名密码没问题,创建授权令牌,在接下来的跳转过程中,授权令牌作为参数发送给各个子系统,子系统拿到令牌,即得到了授权,可以借此创建局部会话

2021-04-26 14:36:10 757

原创 Java 解决跨域问题

跨域:浏览器对于javascript的同源策略的限制 。以下情况都属于跨域:跨域原因说明 示例 域名不同 www.jd.com与www.taobao.com 域名相同,端口不同 www.jd.com:8080与www.jd.com:8081 二级域名不同 item.jd.com与miaosha.jd.com 如果域名和端口都相同,但是请求路径不同,不属于跨域,如:www.jd.com/itemwww.jd.com/goodshttp和h...

2021-04-16 15:56:54 171

原创 使用Spring Data JPA获取数据时的NumberFormatException

public class PMOrder { private Long id; private Level level; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) public Long getId() { return id; } public void setId(Long id) { this.id = id; } @E.

2021-04-15 10:07:09 260

原创 K8S安装Kubesphere

转载一下,作者的方法亲测好用。原文地址:https://blog.csdn.net/CSDN877425287/article/details/108267932

2021-04-04 18:34:33 154

原创 kubernetes中Pod容器错误 init:ImagePullBackOff 解决方法

kubernetes中Pod容器错误 init:ImagePullBackOff 解决方法环境说明:kubeadm安装单master集群,安装flannel网络插件时,遇到错误如下:node1节点的镜像已经下载并处于Running状态,master却报错 init:ImagePullBackOff[root@k8smaster ~]# kubectl get pods -n kube-systemNAME READY .

2021-04-01 23:15:34 3253

原创 Nacos、OpenFeign

Nacos 是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现,配置管理和服务管理平台,他是使用 java 编写的,需要依赖 java 环境 Nacos 文档地址: https://nacos.io/zh-cn/docs/quick-start.html 下载 nacos-server https://github.com/alibaba/nacos/releases 或者 docker镜像里 docker pull nacos/nacos-server docker run -

2021-03-29 12:15:16 433

原创 MybatisPlus整合

1.导入依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.2.0</version> </dependency> 2. 导入数据库驱动 https://mvnrepository.com/ar...

2021-03-29 11:26:23 88

原创 git安装和配置

1、下载git https://git-scm.com/ 2、配置git 进入 git bash # 配置用户名 git config --global user.name "user.name" # 配置邮箱 git config --global user.email "username@email.com" # 注册账号使用的邮箱 3、配置 ssh 免密登录 https://github.com/settings/keysgit bash 使用 ssh-keyge

2021-03-29 11:18:09 79

原创 在SpringBoot中 @Configuration类中 @Autowired 不能注入的问题

直接看代码运行后 会抛出NullPointerException/空指针因为在spring加载这个configuration的时候可能在这注入的类还没有被加载到spring中,所以注入的时候会抛出空指针。解决方案在@Bean的方法中进行依赖注入,问题解决!...

2021-03-24 14:39:19 1250

原创 mysql的1093错误

1093错误为:但修改一个表的时候子查询不能是同一个表,解决办法:把子查询再套一层就可以了,例如:update mt_device set area_id=null WHERE reg_code in(select c.reg_code from (select reg_code from mt_device where area_id=19)c); 这是对的但是 update mt_d...

2019-03-01 10:47:54 12435

原创 cmd命令行将文件夹打包成war包

cmd到指定目录 ,输入命令 jar -cvf wms.war *(“wms”为包名,在 * 之前有一个空格)

2018-11-20 13:44:02 4132

空空如也

空空如也

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

TA关注的人

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