- 博客(12)
- 收藏
- 关注
原创 多级缓存,让访问速度纵享丝滑
1. 引言2. 传统接口2.1 干货分享2.2 接口测试3. 第一次优化3.1 干货分享3.2 接口测试4. 第二次优化4.1 干货分享5. 第三次优化5.1 干货分享5.2 接口测试。
2024-11-26 09:05:18
617
原创 Redis实现API接口限流之滑动窗口算法
注:关于市面主流的限流技术,就不得不提阿里巴巴的开源组件Sentinel了,这是一款流量控制和熔断降级组件,旨在通过灵活的流量控制和熔断降级机制,帮助开发者保护微服务架构中的应用和服务。由控制台的测试结果,我们可以知道,系统已经具备限流效果,并且基于滑动窗口的原理,在后续的任意时刻都能很好得防止流量冲击,从而保护系统的高可用。:这里传入的是 DefaultRedisScript 的实例,包含了要执行的 Lua 脚本文本以及期望的结果类型。除了脚本注释,这里再对脚本中使用到的Redis一些命令做一下解释。
2024-11-05 20:31:05
1030
原创 Redis实现API接口限流之固定窗口算法
Redis实现API接口限流之固定窗口算法1.API接口限流的场景2.限流前的效果演示2.1 新建SpringBoot2.2 Redis相关配置2.3 api接口测试3. 限流后的效果演示3.1 AOP切面实现接口限流3.2 API限流测试1.API接口限流的场景那么什么是限流呢?顾名思义,限流就是限制流量,包括并发的流量和一定时间内的总流量,就像你宽带包了1个G的流量,用完了就没了,所以控制你的使用频率和单次使用的总消耗。通过限流,我们可以很好地控制系统的qps,从而达到保护系统或者接口服务器稳定的目
2024-10-17 19:07:32
1010
原创 Kafka中间件实战
SpringBoot整合Kafka实战1.Kafka简介和应用2.Kafka相关概念3.SpringBoot2.x整合Kafka实战3.1Kafka和Zookeeper的本地安装和启动3.2新建SpringBoot项目并加载相关依赖3.3kafka相关属性配置3.4生产者框架搭建3.5消费者框架搭建3.5测试生产和消费流程1.Kafka简介和应用Apache Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在
2022-02-20 19:40:48
708
原创 Mybatis返回主键ID
Mybatis返回注解ID1.使用场景2.代码实例3.扩展Mybatis常用标签1.使用场景开发工作很经常会碰到主从表的结构,从表里面有主表ID的关联列。当新增表数据时,插入主表的同时也要插入从表,并且从表中的关联列要是对应的主表ID值。而整个增加的方法会放在同一个事务里面做事务管理,就无法插入主表后去查询该主键ID。这时就需要Mybatis的返回主键标签selectKey,下面以新增订单的操作为例:2.代码实例Service方法实现 @Override @Transactional
2021-04-20 14:13:19
3693
原创 Redis入门实操笔记
Redis入门实操笔记1.Kafka简介和应用2.Kafka相关概念3.SpringBoot2.x整合Kafka实战3.1Kafka和Zookeeper的本地安装和启动3.2新建SpringBoot项目并加载相关依赖3.3kafka相关属性配置3.4生产者框架搭建3.5消费者框架搭建3.5测试生产和消费流程1.Kafka简介和应用Apache Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一种快速、可扩展的、设计内在就是分布式的,分
2021-03-06 13:33:24
538
1
原创 java递归实现类别树
java递归实现类别树展示在浏览淘宝,京东等各大商场的时候会发现首页一般都是商品分类,并且这个商品分类都是层级关系。下图以天猫商场为例,分为了三层的树状结构!!!那么这种的类别树是怎么实现的呢?话不多说直接上代码:1.首先我们新建一张商品类别表并维护所需数据:2.创建商品类别实体@Data@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)@ApiModel("商品类别表")public class OrdersCa
2020-12-15 19:45:08
3026
12
原创 xxl-job + webSocket实现数据大屏动态展示
xxl-job + webSocket实现数据大屏动态展示1.weSocket引入2.weSocket介绍3.项目实战3.1配置xxl-job定时任务3.1创建webSocket项目1.weSocket引入传统的javaweb项目通常使用的是HTTP/HTTPS协议,这是非连接协议,只能由客户端主动向服务端发送请求才能获得服务端的响应并取得相关的数据。当客户端需要实时的数据时可以通过定时轮询服务端获取数据,这种方式的最显著的缺点是如果客户端数量庞大并且定时轮询间隔较短服务端将承受响应这些客户端海量请求的
2020-11-29 11:22:30
5693
1
原创 xxl-job(分布式任务调度平台)的介绍和使用
分布式任务调度平台XXL-JOB的介绍和使用1.传统的定时任务1.1实现方式1.2缺点分析2.初识XXL-JOB1.传统的定时任务1.1实现方式在启动类上使用@EnableScheduling注解,表示开启定时任务@SpringBootApplication@EnableSchedulingpublic class XxlJobExecutorApplication { public static void main(String[] args) { SpringApplica
2020-11-21 19:56:46
43761
2
原创 Shiro学习和代码实战
Shiro学习和代码实战1.Shrio简介2.Shrio+SpringBoot+Thymeleaf+mybatis完成用户登录验证和角色权限管理3.用户登录整体流程1.Shrio简介Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。附shrio官网:shrio主要功能 :三个核心组件:Subject, SecurityManager 和
2020-08-27 23:46:19
580
1
原创 Swagger学习和代码实战
Swagger学习和代码实战1.Swagger介绍2.SpringBoot整合Swagger实战1.Swagger介绍2.SpringBoot整合Swagger实战2.1:pom文件导入swagger相关依赖 <!-- 引入swagger依赖 --> <dependency> <groupId>io.springfox</groupId> <artifactId>spring
2020-08-25 20:16:00
1200
1
原创 基于kettle实现数据采集
基于kettle实现数据采集1.kettle简介2.kettle实现不同数据库的数据采集3.kettle实现接口的数据采集1.kettle简介Kettle 是一款国外开源的 ETL 工具,纯 Java 编写,绿色无需安装,数据抽取高效稳定(数据迁移工具)。Kettle 中有两种脚本文件,transformation 和 job,transformation 完成针对数据的基础转换,job 则完成整个工作流的控制。下面两个案例是使用kettle7.1进行操作,安装过程不做详解,直接开整2.kettle
2020-08-18 17:36:04
6040
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人