- 博客(46)
- 资源 (1)
- 收藏
- 关注
原创 Spring Cache 实战指南
return key;/*** 批量键清除方法* 该方法用于从指定的缓存中清除一批键对应的缓存对象* 主要解决批量清除缓存的需求,提高缓存管理的灵活性和效率* @param cacheManager 缓存管理器,用于管理缓存* @param cacheName 缓存名称,用于指定需要操作的缓存* @param keys 需要清除的键集合,这些键对应的缓存对象将会被清除*/
2025-03-21 11:53:33
751
原创 通过Knife4j在gateway中对swagger文档进行聚合
和采用聚合方案,选择使用这两个依赖包。由于官方文档明确指出其无法与 Spring Cloud Gateway 混合使用,因此放弃该方案。由于当前 Spring Cloud 版本较低,存在兼容性问题,因此放弃该方案。
2025-03-20 17:34:18
790
原创 mysql中的的锁
MySQL锁可以根据 锁的类型、加锁的范围(颗粒度)、所得思想三大类来分。唯一索引的精确命中查询可直接锁定记录,无需间隙锁。),防止其他事务插入新数据,解决幻读。是否加间隙锁不仅取决于查询范围,还受。:锁定索引记录之间的间隙(如。
2025-02-28 14:45:01
929
原创 Maven私服-Nexus3安装与使用
1)maven-central:maven中央库,默认https://repo1.maven.org/maven2/拉取jar2)maven-releases:私库发行版jar3)maven-snapshots私库快照(调试版本)jar4)maven-public:仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。
2025-01-20 17:12:07
971
原创 Spring Cloud Gateway-自定义异常处理
参考 https://blog.youkuaiyun.com/suyuaidan/article/details/132663141,写法不同于注入方式不一样。
2025-01-03 16:15:44
817
原创 redis-击穿、穿透、雪崩
击穿、穿透、雪崩经常听人说吧?无非就是在有缓存层的情况下,对各种绕过缓存层从而直接落到了DB上的情况进行的分类。击穿: 请求的数据在缓存里永远找不到,请求绕过缓存层。雪崩:所有缓存key同时失效,所有请求全部绕过缓存层。穿透:部分key失效或被删除,请求绕过缓存层。
2024-11-20 16:34:49
585
原创 问题: redis-高并发场景下如何保证缓存数据与数据库的最终一致性
在高并发场景下,Redis 通常用作缓存层,与数据库结合使用以提高系统的性能。为了保证缓存数据与数据库的最终一致性,通常采用的有双写机制、缓存失效机制,基于双写机制、缓存失效机制又衍生出来了消息队列、事件驱动架构等。
2024-11-20 15:26:03
1101
原创 springCloud学习-nacos配置管理-配置与拉取、配置热更新、多环境配置、多服务配置共享
nacos中提供了配置管理功能,能有效的让我在开发中对项目的配置文件进行管理,如我们在开发中测试环境、开发环境经常会分开,我们总不至于每次打不同环境的包时,改不同环境的配置文件。......
2022-08-15 18:25:22
2369
原创 springCloud学习-Eureka注册中心
写在前面搭建eureka服务,并准备将用户模块以及订单模块服务注入到eureka中,访问订单接口时获取下单用户信息。项目地址 分支:eurakayml配置注意: eureka服务将自己本身注入到服务中Applicatiion添加注解启动服务后访问效果如下older模块yml配置user模块引入依赖user模块yml配置启动服务后访问eureka效果如下订单模块调用用户模块接口调用方式: 服务名+访问路由......
2022-06-27 11:11:26
101
原创 centos8下安装oracle19c
前期准备1.1下载zip包下载地址 https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html1.2关闭防火墙并设置SELINUX#关闭防火墙systemctl stop firewalld.servicesystemctl disable firewalld.service #进入/etc/selinux/configvim /etc/selinux/config #把SELI
2021-11-22 11:30:28
1798
原创 idea中使用protobuf格式
准备安装插件新建立目录新建目录proto(名称任意都可)并按图指为Sources Root实现pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.ap
2021-08-03 16:04:34
940
原创 springboot下后端模拟websocket客户端
写在前面需求场景一般来说项目中使用到websocket服务,都是由后端实现服务端,前端实现客户端(致歉:曾经有个项目 由于是外包,那么我服务端也是让前端自己写的,不因为其他只是因为我懒),老话说:出来写代码,总有要还的。 那么当前项目有一个需求如下: 我们需要接一个三方的数据, 这个三方年代久远(其实根本不久,就是脑子不好), 后端与后端的数据交互,他是用的是websocket,那么我们现在就需要在后端实现客户端代码。源码地址引用 <!-- 后端模拟前端监听websocket
2021-08-03 14:57:50
1857
原创 spingboot2---如何开启内容协商与自定义转换器
使用场景有时我们在开发时会遇到这种情况,前端在特定的接口需要后端访问xml或者是其他格式数据。前提以xml为列,后端需要映入xml依赖 <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId> </dep
2021-06-02 16:59:09
201
原创 springboot2---如何用表单模拟Rest风格
1.什么是Rest风格?在过去我们写url映射时,总是写getUser、deleteUser等等,如果遵守RestFull规范的话,我们可以都写成/user,通过不同的请求方式来确认用户请求的action,如DELETE方式请求的是删除用户的action, get方式代表获取用户信息等等。2.如何开启Rest风格首先我们这里开启的只是表单提交的rest,也就是说不通过ajax请求如何让后台识别前端走的是哪种种请求方式, 如果是postman或者前后端分离这种请求过来就已经明确指明请求方式的话,那就不
2021-05-06 16:05:50
309
1
原创 centos8安装elasticsearch-7.12.0
下载下载地址解压并安装#解压tar -zxvf elasticsearch-7.12.0-linux-x86_64.tar.gz#移动mv elasticsearch-7.12.0 /usr/local/software/elastic/elasticsearch-7.12.0/配置配置elasticsearch.yml#进入安装目录cd /usr/local/software/elastic/elasticsearch-7.12.0#建立data后面要用mkdir data
2021-03-24 15:35:45
927
3
原创 centos8安装redis6
准备dnf install gcc安装完成后查看gcc版本下载下载地址安装解压安装包#解压tar -zxvf redis-6.0.6.tar.gz#移动sudo mv /usr/local/software/redis-6.0.6/#进入cd /usr/local/software/redis-6.0.6# 编译make#建立文件sudo mkdir bin#安装make PREFIX=/usr/local/software/redis-6.0.6 install
2021-03-24 11:16:13
191
原创 centos8安装MySQL8
依赖安装sudo yum -y install libaiosudo yum -y install ncurses-compat-libssudo ln -s /usr/lib64/libtinfo.so.6.1 /usr/lib64/libtinfo.so.5用户准备sudo groupadd mysql # 创建MySQL组sudo useradd -r -g mysql -s /bin/false mysql # 添加mysql用户sudo usermod -G mysql xxxx
2021-03-22 12:38:15
248
原创 还不知道springboot如何集成activiti、activiti在线设计器吗?代码都给你写好啦
springboot集成activiti写在前面本次使用springboot2.3.3中集成 activiti-6.0.0,集成完成后发现activiti在线设计器怎么办呢,网上查了资料发现有很多种方式,我了解的有三种,分别是1.去官网下载一个 Activiti UI WAR包然后放到服务器中跑 2.idea下一个bpmn插件(这个插件idea应用都找不到了,只能去idea官网下载下来后进行安装,很久不更新了还有兼容问题,太坑了放弃)3.使用activiti5自带的activiti-editor(就是一
2021-03-01 17:17:44
1012
原创 解决CentOS8中idea无法输入中文、无快捷图标问题
写在前面我被很多同事问你干个虚拟机就行了,干嘛要在里面写代码,我总是回答,因为我乐意,哈哈玩笑,主要是因为我习惯了,window系统开发曾经坑过我,本次主要是解决两个问题:安装应用后没有快捷图标,每次都要输命令启动jetbrains公司下的编辑器安装完后他么的竟然不能写中文!!如何解决没有图标得问题以jetbrains的idea为列,首先你得去官网下载下载完后解压到你想要的目录,这里就不发了,百度上一大堆,安装完后就会发现并没有快捷图标,每次都要进入安装目录的bin目录下启动idea.sh
2021-03-01 10:33:08
669
1
原创 CentOS8中安装php7与php5并同时运行
写再前面,最近新搞个window,所以要转环境,这不装完了,写点博客记录下,我是装完后再写的博客,所以如果博客有什么问题,希望打架指出来我来改博客。前提CentOS8环境apachectl安装完毕alex@Alex ~> apachectl -vServer version: Apache/2.4.37 (centos)Server built: Nov 4 2020 03:20:37坑我在dnf安装完后,找不到安装目录,很烦。。。,找了很久,贴一下/opt/remi
2021-03-01 09:52:56
1368
原创 从0开始学习scala-抽象类、访问修饰符、封装、继承、with、覆写
抽象类在scala中一个属性如果没有初始化,那么这个属性就是抽象属性,另一方面来说,当类中存在没有初始化的属性那么他就是抽象类,需要使用abstract修饰如果是覆写一个父类的抽象,那么override关键字可以省略抽象类中可以没有抽象方法或字段,但是有抽象字段或者抽象方法的类一定是抽象类访问修饰符私有(Private)成员:用 private 关键字修饰,带有此标记的成员仅在当前类或对象内部可见[同样的规则还适用内部类]保护(Protected)成员:在 scala 中,对保护(
2020-09-15 13:58:40
261
原创 从0开始学习scala-构造器详解
构造器写法主构造器的声明直接放在类名后面,附属构造期写在类里面,并且附属构造期第一行scala规定附属构造器第一行必须调用主构造器或者其他附属构造器, 如果主构造无参数,后面的小括号可以省略(简单,不作证明)//辅助构造器 函数的名称this, 可以有多个,编译器通过不同参数来区分class 类名(形参列表) { // 主构造器 // 类体 def this(形参列表) { // 辅助构造器 //附属构造器第一行必须调用主构造器或者其他附属构造器 } def
2020-09-11 17:25:09
325
1
原创 从0开始学习scala-条件判断与循环
条件判断这个没得说看代码吧if(布尔表达式){ // 如果布尔表达式为 true 则执行该语句块}if(布尔表达式){ // 如果布尔表达式为 true 则执行该语句块}else{ // 如果布尔表达式为 false 则执行该语句块}if(布尔表达式 1){ // 如果布尔表达式 1 为 true 则执行该语句块}else if(布尔表达式 2){ // 如果布尔表达式 2 为 true 则执行该语句块}else if(布尔表达式 3){ //
2020-09-11 15:39:04
266
原创 从0开始学习scala-函数定义与使用、默认参数、传名调用、可变参数
函数定义与使用方法定义由一个 def 关键字开始,紧接着是可选的参数列表,一个冒号 : 和方法的返回类型,一个等于号 = ,最后是方法的主体。def functionName ([参数列表]) : [return type] = { function body return [expr]}以上代码中 return type 可以是任意合法的 Scala 数据类型。参数列表中的参数可以使用逗号分隔。函数定义与调用实列object Function { def main(args:
2020-09-11 14:27:46
428
原创 从0开始学习scala-var、val、_、lazy
val与var区别1:var: 申明的是变量, 所以值可变,val: 申明的是值,所以值不可变。object VarAndVal { def main(args: Array[String]): Unit = { var a : String = "1" val b : String = "2" a = "11"// b = "22" 这样写报错 println(s"a的值:$a") println(s"b的值:$b") }}2.val申明
2020-09-11 09:08:26
317
原创 mybatis-plus-generator使用mybatisPlus代码生成器生成代码、xmlsql拼接、自定义类
最近写了一个mybatisPlus代码生成器,用于生成sql拼接代码以及自定义类。项目地址!!!!使用前请先看README.md文件!!!!!!!!!!使用前请先看README.md文件!!!!!!!!!!使用前请先看README.md文件!!!!!!代码有注释,先上代码。pom<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=
2020-08-13 11:51:00
3156
1
原创 Mac php7.1安装oci8扩展
下载下载地址https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.htmlhttps://pecl.php.net/package/oci8分别下载Instantclient-basic-macos.x64-12.2.0.1.0-2.zip,Instantclient-sdk-macos.x64-12.2.0.1.0-2.zip,instantclient-sqlplus-macos
2020-06-11 16:47:06
813
原创 springboot中读取所有添加指定注解的方法
springboot中读取所有添加了自定义标签的方法需求描述最近公司要求用springSecurity搞一套权限管理(RBAC),单独就tb_permission表数据来说,我需要读取到Controller中所有添加了自定义注解的函数并将其路由存入数据库,需要达到效果如下:自定义注解import java.lang.annotation.*;@Target({ElementType.METHOD, ElementType.TYPE})@Retention(RetentionPolicy.
2020-05-20 09:58:34
10346
5
原创 scala学习笔记-函数与方法
Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量,也就是说Scala中的函数则是一个完整的对象,Scala 中的函数其实就是继承了 Trait 的类的对象。区别:1.Scala 中使用 val 语句可以定义函数,def 语句定义方法。2.Scala中方法不是值,而函数是。所以一个方法不能赋值给一个val变量,而函数可以。Scala中函数可以作为参数被传递object Me...
2020-04-28 14:54:06
266
原创 Oracle对比两表数据若存在则更新,不存在则新增(两表结构相同)
业务需求:现在有表A表B,结构相同。现在需要把表B数据同步到表A,如果B表的数据在A表中已存在则更新,若B表的数据在A表中不存在则新增表名字段temID, NUM(编号) NAME(名称), IS_VALID(0:已失效 1:未失效)tagID, NUM(编号) NAME(名称), IS_VALID(0:已失效 1:未失效)使用oracle的...
2020-04-27 11:10:10
2694
原创 centos7搭建LAMP
lsb_release -a 查看系统版本添加系统用户以及添加sudo权限创建新用户usernameuseradd username给用户设置密码passwd username给username用户设置sudo权限首先找到文件位置,示例中文件在/etc/sudoers位置。 whereis sudoers强调内容 修改文件权限,一般文件默认为只读。ls -l /etc/sud...
2020-04-20 16:32:55
348
原创 微信如何在平台中配置公众号支付的参数
最近要新项目中要使用微信js支付,因为之前公司工作中支付参数都是项目经理设好的,本次新项目中需要自己去设置。所以还是记录一下吧。写在前面首先你要有对应的企业级的公众平台账号以及商户平台账号因为js支付的需要使用到openid,所以这边有的配置像js安全域名配置以及IP白名单等,都是要配置的不然获取到openid还支付啥,具体下面都会有提。一:商户号开通js支付二:登录公众平台绑定对...
2019-12-26 10:11:36
680
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人