- 博客(106)
- 资源 (29)
- 收藏
- 关注

原创 redis的四种模式优缺点
Redis是一个完全开源的内存数据结构存储工具,它支持多种数据结构,以及多种功能。Redis还提供了持久化功能,可以将数据存储到磁盘上,以便在重启后恢复数据。由于其高性能、可靠性和灵活性,Redis被广泛应用于缓存、会话管理、排行榜、实时分析、消息队列等领域。
2023-07-27 13:26:08
983

原创 canal探索及应用
把canal伪装成mysql的一个从机,采集binlog日志,监听到mysql存在增删改的动作,讲情报发送给我们的处理程序,处理程序接收到情报执行删除缓存任务并且标识为成功,一旦标识不成功的话,也进行一定次数的重试,最终失败的话还是转人工手动处理。我之前有个案列讲的是将用户id进行分库分表,按照雪花算法生成一串id,再由id去除以库的数量,取余,取余数等于要存入的分库序号里面,同样的再按照某种算法把数据存入分表,当查询这个用户的订单时,根据该用户id所在的维度,去对应的地方取数据。
2023-07-13 15:57:01
404

原创 shardingsphere 分库分表实现
这里主要讲讲shardingsphere 的内容首先要明白数据库的瓶颈 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。1.都知道数据库连接资源有限的吧,想想一个数据库如何在打并发的时候支撑的下来 这也就是IO的概念 也就是IO瓶颈2.数据量也会造成瓶颈,数据量...
2020-12-02 17:59:25
4908
原创 springboot 接口防抖技术实现思路
缓存防抖:适用于单机环境,简单易实现。限流:适用于需要控制请求速率的场景。定时任务防抖:适用于单机环境,可以精确控制执行时间。Redis防抖:适用于分布式环境,确保多个实例之间的防抖一致性。
2025-03-26 09:42:01
247
原创 Springboot3巧妙运用拦截器阻断xss攻击
人们经常将跨站脚本攻击(Cross Site Scripting)缩写为CSS,但这会与层叠样式表(Cascading Style Sheets,CSS)的缩写混淆。因此,有人将跨站脚本攻击缩写为XSS。
2025-01-09 16:53:20
393
原创 VMware 的网络适配器 桥接-NAT-仅主机
大家使用VMware安装镜像之后,是不是都会考虑虚拟机的镜像系统怎么连上网的,它的连接方式是什么,它ip是什么?
2024-09-17 13:51:38
593
原创 正向代理与反向代理
正向代理和反向代理是两种不同的网络服务配置方式,它们在客户端和服务端之间起到中介的作用,但工作方式和目的有所不同。正向代理和反向代理是两种常见的代理技术,它们在网络通信中扮演着不同的角色,具有各自的特点和用途正向代理主要为客户端提供服务,帮助客户端隐藏身份或提高访问效率。反向代理主要为服务端提供服务,帮助服务端实现负载均衡、安全性增强等功能。正向代理反向代理作用正向代理位于客户端一侧,主要目的是代表客户端去获取资源反向代理位于服务端一侧,主要目的是代表服务端接收客户端的请求场景。
2024-07-29 09:55:43
558
原创 路由器、交换机和网卡
物理主机和虚拟机之间可以互相访问,相同物理主机之间的虚拟机可以互相访问,不能访问物理主机所在局域网的电脑,其它电脑也不能访问该物理主机中的虚拟机,这种情况下虚拟机如果想要访问互联网,需要将物理主机的网卡共享给VMware Network Adapter VMnet1网卡。由于虚拟机在物理路由器中并没有登记子的身份信息,物理主机所在局域网其它电脑不能对它进行访问反之虚拟机是可以访问其它局域网电脑的,相同物理主机的虚拟机可以互相访问。此模式是直接连接到物理网络,利用虚拟网桥连接到主机的网卡。
2024-05-11 11:34:04
643
1
原创 linux安装clamav病毒扫描与删除
ClamAV是Linux操作系统一款免费的杀毒工具,通过命令执行病毒库升级、查找病毒和删除病毒。
2024-05-11 10:06:56
11136
5
原创 记录一次linux服务器被留后门如何清退
查看是否存在后门用户,当然也有系统自行创建的一堆,不全是自己真正创建的账户,注意查询除root之外的权限超高的用户,一般服务器被入侵,都会想办法提权,然后创建后门用户。如果存在可以用户,不用犹豫直接删除,注意有些软件安装会存在自定创建用户的情况,怕删除错误可以做好备份。当然较小的文件,咱们看看尝试能不能编辑,有的时候编辑可以发现很多我们没找到的可疑文件。最直接一点的,如果不涉及数据存储,完全可以创建系统快照,一键还原到未感染之前的状态。删除这个文件提示权限不够,这是正常的,文件被锁定了。
2024-05-10 09:57:31
1418
原创 服务器被挖矿了怎么办,实战清退
然后看看有没有定时任务,有的时候它会定时去检测xmrig挖矿木马是否在正常运行,不正常它会重新去做一系列的处理,重新植入木马,这时候我们要去取消这些定时任务。注意这些看起来像系统进程的最好不要kill掉,容易出现意外,把生产环境的服务给干费了,那我们得去删掉这个后门用户怎么办。可以看到我这边有一个名为xmrig(有经验的这里看到名字直接就能判断)的进程霸占了100.3的资源,这里中招了。第一时间重启服务是不行的,这些挖矿木马一定是会伴随着你的重启而自动重启,一定时间内重新霸占你的服务器资源。
2024-03-25 11:16:47
2583
原创 BIO、NIO和AIO
总的来说,三种IO模型各有优缺点,适用于不同的场景和需求。在选择合适的IO模型时,需要考虑并发量、连接时长、服务器资源等因素。
2024-02-29 15:26:40
1049
原创 传输层两大战将TCP、UDP的定位
TCP/IP即传输控制/网络协议,是面向连接的协议,发送数据前要先建立连接(发送方和接收方的成对的两个之间必须建 立连接),TCP提供可靠的服务,也就是说,通过TCP连接传输的数据不会丢失,没有重复,并且按顺序到达UDP它是属于TCP/IP协议族中的一种。是无连接的协议,发送数据前不需要建立连接,是没有可靠性的协议。因为不需要建立连接所以可以在在网络上以任何可能的路径传输,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。
2024-02-29 10:03:44
1232
原创 springboot自写插件封包
在Spring Boot中自写插件或封包(通常指的是创建自定义的starter)是一种常见的做法,用于将一系列相关的配置和组件打包成一个独立的模块,从而简化依赖管理和配置过程。
2024-02-27 13:59:54
523
原创 java设计模式的总结
现知设计模式总共可以分为三种目的型设计模式创建型结构型行为型而每个类型又有所圈定的范围既作用范围,范围又分为两种类对象。
2024-02-27 09:02:20
1134
原创 springboot在线文档的集成方式
配置Swagger文档:根据您的应用程序的需求,您可以配置Swagger生成的API文档。您可以为每个控制器配置文档注释,路径选择器和参数注释等。你可以根据实际需求进行一些自定义配置,如添加权限控制、配置文档显示的接口等。这是一个基本的Swagger 3集成过程的概述。您可以根据您的需求和应用程序的特定要求进行更多的配置和自定义。配置Swagger:在您的Spring Boot主配置类上添加。这将启用Swagger在您的应用程序中生成API文档。注解用于为控制器组添加标签,注解用于为接口添加操作描述。
2024-02-04 16:20:24
533
原创 Springboot写一个对接钉钉机器人的小插件
field = "XXX"是一一对应的,当然你也可以用其它更复杂的形式去标识,但是要与模板里面一一对应。参照钉钉给我们的开发文档,可以发现对接起来是非常简单哈哈。有时候我门需要监控各种事件,需要机器人给我发给提醒。我把钉钉所有的消息类型,全封成了一个一个消息模板。注意看红圈圈出来的字段,这个于注解里面的。然后在自己测试的实体类上加上了这个注解。在例子里面访问我们所写的测试例子。如果上生产之后,我们需要动态修改。如:git代码交接,代码合并,这是我写的小插件以及例子。好了,我拿一个来测试。
2024-02-04 11:38:03
608
原创 mybatis-plus批量保存异常及效率优化
最近基于自己公司内部服务维护,发现其中调度中心近期出现不少错误日志,但是该任务却是正常执行,生成的报表数据也是正常的,所以很多天没有发现问题这就匪夷所思了,经仔细排查发现,是触发了feign超时hystrix熔断器机制也就是说子服务出现了执行时间过长的情况是什么让它花费这么多时间去执行呢,只有一个for循环,组装list这个组装过程在java看来是非常快,根本不可能出现问题我发现了mybatisplus3.3.2自带的批量保存的sql接口跟踪代码的实现。
2024-01-15 15:46:49
1483
原创 docker简易入门(极简,纯干货)
Docker是一种容器化平台,它可以用来轻松地创建、部署和运行应用程序和服务。Docker使用容器技术来管理应用程序的运行环境,它将应用程序和服务打包到一个易于移植的容器中,然后在任何地方运行这个容器,无需担心不同环境之间的差异。使用Docker,您可以轻松地构建、测试、部署和扩展应用程序,从而大大提高了开发和部署的效率。Docker的核心是Docker引擎,它是一个轻量级的运行时环境,可以在任何操作系统上运行。
2023-11-13 15:54:10
634
原创 springboot之quartz动态可控定时任务
Quartz是一个开源的任务调度框架,可以用来实现定时任务的调度,如定时发送邮件、定时备份数据等。Quartz具有很高的可靠性和灵活性,支持集群部署和分布式调度,并且提供了丰富的API和插件,可以轻松实现复杂的调度需求。Quartz的工作原理是通过Job和Trigger两个核心概念来实现的,Job是具体需要执行的任务,Trigger用来触发任务的执行时机。在Quartz中,可以通过定义各种Trigger来实现不同的调度策略,如简单调度、Cron调度等。
2023-10-19 14:17:31
1007
原创 mybatis-flex探索
最近无意之中发现了一个非常棒的持久层框架mybatis-flex,迫不及待研究了一下发现简直就是我的梦中情框,之前写ibatis,后来写mybatis,接着写mybatis-plus,接着研究mybatis-flex。
2023-08-10 11:05:17
1154
原创 数据库清除binlog遇坑
可以非常明确的看到我的删除掉的binlog的路径依旧存在这里面,导致mysql在plugin binlog的的时候无法正常引用binlog。当数据库开启binlog之后,随着时间的增加,日志也会占据大量的内存,当然你也可以设置bin_log的过期时长。这里就说说我忍受不了数据库binlog日志太多选择手动清除的一件坑事。既然是删除binlog出现的问题,我就把binlog相关的地方都检查一遍。我清除掉里面的内容,果然mysql能正常启动了。然后我重启了mysql服务,然后就尴尬了,于是我选择暴力删除,
2023-07-13 16:38:08
681
原创 高并发解决方案
通俗来讲,高并发是指在同一个时间点,有很多用户同时的访问同一接口或者urI地址。它经常会发生在有大活跃用户量,用户高聚集的业务场景中。如: 淘宝,京东,天猫,微信支付等等。
2023-07-12 08:24:34
129
原创 kotlin之循环控制
do...while循环特点是先执行一次,执行完一次后再判断条件,满足条件了再执行,不满足条件就结束,换句话说,do...while和while的区别是,while先判断后执行,而do...while至少要执行一次。while执行,首先会去检测while里面的条件,条件成立则会执行块里面的操作,如果是false,则会终止循环,这里while得条件要有限定范围,否则会出现死循环。do...while适合至少执行一次且循环次数不固定的时候,当循环次数固定的时候推荐使用for循环。这两种写法几乎一模一样。
2022-12-09 11:04:11
1302
原创 kotlin之when表达式
有java基础的同学知道switch case语句如果用kotlin来实现,该怎么实现类似的业务呢?when 将它的参数和所有的分支条件顺序比较,直到某个分支满足条件。发现kotlin的when 和java的 switch....case 差不多但是也存在不同,毕竟kotlin说是综合了很多的语言的优点而应运而生的java的switch是没有办法直接返回值的,只能是case...或者default给switch外面的变量赋值而kotlin发现kotlin的when是不是更好用
2022-12-08 14:02:26
6044
原创 kotlin之range范围表达式
Kotlin 中的 Range 有 、、 、、对比两次结果可以看到 .. 这个符号为闭区间符号until 这个为半封闭区间好,我来做一个临界点的测试,看看区间 我先定义了一个全封闭的区间 拿51与50代入去测试发现返回 当51时,超出临界点的时候为false当50时,刚好在临界点时为true当定义一个1~50半封闭的区间我代入49~50时发现返回 当值为50时,超出临界点 为false当值为49时,在包含之中 为true
2022-12-07 16:24:23
1120
原创 kotlin之声明变量的方式
让我们来看一下java声明变量的方式类型 变量名 等于 初始化值String str = "999999999"; : = var sr : String = "s"正常声明变量的方式 推断kotlin声明变量的方式可以跟据后面值的推断出变量的类型例子: 可以发现,st3变量是不允许为空值的,否则编译是不通过的回过投看看java是允许赋null值的kotlin的声明方
2022-12-07 14:55:19
641
原创 kotlin之hello world
如果你想一个人写全栈的话,Kotlin Multiplatform (以下简称MPP)是目前这个星球上最好的选择,没有之一。Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。都知道java能跨平台
2022-12-07 11:19:40
1253
原创 Redis与数据库的爱恨纠葛
Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。早期数据库只要有数据库的操作---增--删--改--查当用户量特别多的情况下,数据库的数量一定是跟不上用户的数量,对数据库来说是特别繁忙的看着每天都累趴下的数据库,顿时有种心疼的感觉。对数据库操作进行了分析,发现读取的业务大于其它业务的总和,那为给数据库介绍了一个专门干缓存的对象----redis。
2022-11-29 16:29:15
4558
1
原创 springboot之Security浅探
Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。提供了完善的认证机制和方法级的授权功能。是一款非常优秀的权限管理框架。它的核心是一组过滤器链,不同的功能经由不同的过滤器。,对比 Spring Security,可能没有 Spring Security 做的功能强大。Apache Shiro 是 Java 的一个安全。
2022-11-28 09:43:15
474
原创 linux之minio搭建
Minio是GlusterFS创始人之一Anand Babu Periasamy发布新的开源项目。Minio兼容Amason的S3分布式对象存储项目,采用Golang实现,客户端支持Java,Python,Javacript, Golang语言。MinIO 是高性能的对象存储,可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来。
2022-10-27 09:17:05
1053
原创 springboot之ice规则引擎探索
规则引擎是一种工具,它使得这种计算模型编程变得更容易。它可能是一个完整的开发环境,或者一个可以在传统平台上工作的框架。生产规则计算模型最适合仅解决一部分计算问题,因此规则引擎可以更好地嵌入到较大的系统中。
2022-09-24 11:39:21
8065
3
原创 springboot之redis缓存探索
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI编写、支持网络、可基于内存亦可持久化的日志型、Key-Value,并提供多种语言的API。好了,其它的就不介绍了。
2022-09-21 11:50:26
4554
原创 springboot嵌入式数据库derby初探
Apache Derby 是100% Java 编写的内存数据库,属于 Apache 的一个开源项目。并且是一个容易管理的关系数据库管理系统Apache Derby 是一个与平台无关的数据库引擎,它以 Java 类库的形式对外提供服务。与其他难以部署的数据库不同, Derby 数据库体积小、安装非常简单。
2022-09-18 08:40:49
3645
2
原创 springboot嵌入式数据库H2初探
流的数据库,具有比较完备的数据库特性,如支client/server连接,能够支持标准的SQL语。H2是一个开源的嵌入式数据库引擎,采用java语言编写,不受平台的限制,同时H2提供了一。个十分方便的web控制台用于操作和管理数据库内容。H2还提供兼容模式,可以兼容一些主。因此采用H2作为开发期、测试期和演示的数据库非常方便,不太适合。其实与我们使用mysql数据库类似,只不过这边会自带一个h2 server。以上就是全部代码了,结构什么的,按照第一个图来就好。这里可以看到已经能正常使用H2数据库了,
2022-09-17 16:03:56
4038
原创 springboot微服务之eureka注册中心
由Netflflix开源,并被Pivatal集成到SpringCloud体系中,它是基于 RestfulAPI ⻛格开发的服务注册与发现组件。 Eureka由两部分组成,服务端和客户端,服务端是注册中心,用来接收其他服务的注册,客户端是java客户端,用开注册,并实现负载均衡,其中客户端根据业务又划分两部分,服务提供者,和服务消费者。 一致性(Consistency):在分布式环境中,一致性是指数据在多个副本之间是否能够保持一致的特性,等同于所有节点访问同一份最新的数
2022-07-04 15:09:04
3142
原创 Springboot微服务之consul注册中心
这个我依旧用Springboot+dubbo+mybatisplus+swagger+mysql 来整合consul注册中心Consul 是由 HashiCorp 基于 Go 语言开发的,Consul 是一个分布式高可用的系统,提供的服务发现、健康检查、配置(KV存储)和分段功能可以被独立使用,比如我们在 Go Micro 微服务这里使用的主要是服务发现功能,也可以被组合起来使用以便构建完整的 Service Mesh。 好还是上注册中心三大定理布鲁尔定理,也就是CAP这套理论指出对于一个分布式计算系
2022-07-04 10:37:51
1077
原创 Springboot微服务之nacos注册中心
哈哈哈,嘿嘿嘿前面弄了redis,zookeeper怎么能忘了nacos当然我个人还是比较喜欢nacos的 nacos同时可以支持 ap与cp两种模式,并且可以设置权重。nacos可以做为注册中心也可以作为配置中心,可以统一通过nacos管理并且nacos核心功能直接实现吧~ 这个上面可以非常清楚的看到,demo的服务已经可以正常注册到nacos了 可以看到完美跑通了哈.........
2022-06-30 14:13:55
2029
quartz动态控制定时任务
2023-10-19
redis集群模式例子,三主三从,非常简单
2023-08-01
redis主从模式与哨兵模式例子
2023-07-27
springboot ice规则引擎
2022-09-24
redis各个注解使用demo方法
2022-09-21
springboot+derby+mybatisplus+swagger2例子
2022-09-18
h2嵌入式数据库例子 springboot+h2+mybatisplus+swagger使用例子
2022-09-17
Springcloud + openfeign+mybatisplus+swagger+msql使用eureka注册中心
2022-07-04
这次我用Springcloud+openfeign+mybatisplus+swagger+mysql整合consul
2022-07-04
springboot+dubbo+nacos+mybatisplus+swagger+mysql
2022-06-30
Springboot+dubbo+zookeeper+swagger+mybatisplus+mysql
2022-06-30
Springboot+Dubbo+mybatisplus+redis+swagger+mysql实现的
2022-06-25
Springboot-activeMQ
2020-12-15
shiro整合demo
2020-12-09
spring-boot-jwt
2020-12-04
spring-data-jpa
2020-12-04
springboot集成swagger的demo
2020-11-20
java-rpc远程过程调用
2019-07-03
Spring+mybatis web框架简单例子
2018-02-05
mybatis-generator
2017-05-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人