old wang
搜索文章
首页
= 768 && isOpen) { isOpen = false; setTimeout(() => enableScroll(document.body), 200); }" >
enableScroll(document.body), 200);" x-transition:enter="transition ease duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease duration-300" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" style=" position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 1001; overscroll-behavior: none; " >
enableScroll(document.body), 200)" >
首页
全部
默认分类 (4)
技术方案记录 (15)
项目记录 (2)
知识库项目记录 (1)
踩坑记录 (3)
基于 Spring Cache 切换 Caffeine 与 Redis 并支持多租户
在 Spring Boot 项目中,缓存是很常见的能力。 最直接的写法是业务代码中注入 RedisTemplate,然后手动操作缓存。 例如: redisTemplate.opsForValue().get(key); redisTemplate.opsForValue().set(key, val
作者:old wang
发布时间:2024-03-23
分类:
技术方案记录
接口幂等性与分布式限流
在分布式系统中,有两个问题经常会遇到: 接口重复提交; 高并发流量冲击。 前者对应的是接口幂等性问题,后者对应的是接口限流问题。 这两个问题看起来不一样,但本质上都和“如何控制请求行为”有关: 幂等性关注的是:同一个业务操作重复执行时,结果不能出错; 限流关注的是:单位时间内请求量过大时,系统不能被
作者:old wang
发布时间:2023-04-22
分类:
技术方案记录
CompletableFuture 异步异常处理记录
在 Java 项目中,CompletableFuture 经常用于异步任务编排。 例如: 异步发送消息; 异步调用第三方接口; 多个任务并行执行; 接口中异步处理非核心逻辑; 聚合多个异步任务结果。 但在使用 CompletableFuture 时,有一个很容易忽略的问题: 异步任务中发生异常,不一
作者:old wang
发布时间:2023-01-23
分类:
踩坑记录
Spring Boot 中统一日志输出
无论是开发调试,还是生产环境排查问题,日志通常都是最直接的线索。 常见用途包括: 记录接口请求; 记录业务关键流程; 记录异常堆栈; 排查线上问题; 分析系统运行状态; 辅助定位性能问题。 在项目早期,很多人可能会直接使用: System.out.println("debug message");
作者:old wang
发布时间:2022-06-01
分类:
技术方案记录
Spring Cloud Gateway 网关路由与过滤器使用记录
在微服务系统中,网关通常是外部流量进入系统的统一入口。 客户端请求不会直接访问每个后端服务,而是先进入网关,再由网关根据路由规则转发到对应的服务。 网关通常会承担这些职责: 请求路由; 服务转发; 负载均衡; 权限校验; 请求过滤; 统一日志; 限流熔断; 请求头、响应头处理。 在 Spring C
作者:old wang
发布时间:2022-04-12
分类:
项目记录
Spring Boot + MyBatis 实现数据库字段级加密
在业务系统中,数据库里经常会存储一些敏感信息,例如: 手机号; 邮箱; 身份证号; 银行卡号; 用户地址; 其他个人隐私数据。 如果这些数据直接以明文形式存储在数据库中,一旦数据库泄露,影响会非常严重。 比较理想的做法是: 数据入库前自动加密,查询出来后自动解密。 业务代码仍然像操作普通字段一样使用
作者:old wang
发布时间:2022-04-10
分类:
技术方案记录
Spring Boot 使用注解、反射和 AOP 实现数据加密脱敏
在业务系统中,用户敏感信息不能直接明文存储,也不应该直接明文展示。 常见的敏感字段包括: 姓名; 手机号; 身份证号; 地址; 邮箱; 银行卡号。 从数据安全角度看,通常需要做到两件事: 存储时加密:敏感数据进入数据库前进行加密; 展示时脱敏:敏感数据返回给前端前进行解密和脱敏展示。 如果每个接口都
作者:old wang
发布时间:2022-04-09
分类:
技术方案记录
Spring Boot 批量插入大量数据
Spring Boot 使用 ThreadPoolTaskExecutor 批量插入大量数据 在业务系统中,经常会遇到批量导入数据的场景。 例如: Excel 批量导入; 日志数据入库; 第三方数据同步; 历史数据迁移; 大批量初始化数据。 如果数据量只有几千条,单线程批量插入通常就够了。 但如果数
作者:old wang
发布时间:2022-04-04
分类:
技术方案记录
Spring Boot 使用 Function 和异步线程池处理列表拆分任务
在业务开发中,经常会遇到批量处理数据的场景。 例如: 批量导入 Excel 数据; 批量调用第三方接口; 批量处理订单; 批量同步用户数据; 大列表分片计算; 批量生成报表数据。 如果直接用单线程遍历整个列表,数据量较大时处理时间会比较长。 一种常见做法是: 将大列表拆分成多个小列表,每个小列表交给
作者:old wang
发布时间:2022-03-28
分类:
技术方案记录
Jenkins + Maven + Git 实现 Spring Boot 自动化部署
在日常开发中,Spring Boot 项目部署通常会经历这些步骤: 拉取代码 本地打包 上传服务器 停止旧进程 启动新 Jar 包 查看日志 验证接口 如果每次都手动操作,不仅效率低,也容易出错。 本文记录一种基于 Jenkins、Maven、Git 和 SSH Publisher 的简单自动化部署
作者:old wang
发布时间:2021-07-03
分类:
技术方案记录
共 32 篇文章
1
2
3
4
页
# 问题排查
(1)
# 环境搭建
(2)
# RAG
(0)