自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Redis 内存淘汰策略详解

Redis 提供多种内存淘汰策略,当内存达到 maxmemory 上限时自动触发。主要策略包括:noeviction(拒绝写入)、allkeys-lru(全局LRU淘汰)、volatile-lru(仅淘汰过期键中的LRU)、allkeys-lfu(全局LFU淘汰)等8种。选择策略需考虑数据特性和业务需求,如缓存场景推荐volatile-lru,严格数据完整性要求则用noeviction。可通过配置文件或CONFIG SET命令动态调整策略,并配合INFO memory监控内存使用情况。合理配置淘汰策略对Re

2025-12-25 13:01:14 430

原创 Redis 数据持久化:RDB 与 AOF 的深度解析

Redis提供了RDB和AOF两种持久化机制来确保数据安全。RDB通过定时快照保存数据,具有高效、性能影响小等优点,但存在数据丢失风险;AOF记录所有写操作,数据安全性更高但文件体积大、恢复速度慢。根据应用场景可选择单独使用或同时启用两者:RDB适合快速恢复大量数据且可容忍数据丢失的场景,AOF则适用于要求高数据安全性的场景。合理配置持久化策略能有效平衡性能与数据可靠性。

2025-12-25 13:00:33 209

原创 Spring Boot 自动装配原理深度剖析:以集成 Redis 为例

本文以Spring Boot集成Redis为例,详细剖析了其自动装配机制。首先通过添加spring-boot-starter-data-redis依赖触发自动配置。主程序的@SpringBootApplication注解包含@EnableAutoConfiguration,它会从META-INF文件中加载RedisAutoConfiguration类。该配置类通过条件注解确保Redis相关类存在,并创建RedisTemplate和StringRedisTemplate的Bean。同时导入Lettuce和Je

2025-12-24 16:47:11 581

原创 基于 Sa-Token 实现 API 接口签名校验(Spring Boot 3 实战)

本文介绍了基于Spring Boot 3和Sa-Token框架实现API接口签名校验的解决方案。通过sa-token-sign模块提供开箱即用的签名校验功能,支持多种哈希算法和防重放攻击机制。文章详细展示了数据库表设计、实体类定义、Service层实现(含Redis缓存)以及自定义签名配置加载器的关键代码。该方案能够有效防止参数篡改和重放攻击,同时支持动态加载签名配置,适合微服务架构下的接口安全防护需求。

2025-12-24 16:37:15 5726

原创 python中uv工具使用指南

本文介绍了UV工具如何简化Python开发环境管理。UV集成了版本管理、依赖管理、虚拟环境等功能,通过uv python install安装指定版本Python,uv init创建项目环境,uv add/remove管理依赖。还能全局安装工具(如ruff)避免冲突,并通过uv build打包项目为whl文件发布到PyPI。UV整合了Python开发的各个环节,解决了传统工具分散配置繁琐的问题,显著提升了开发效率。

2025-08-03 19:07:33 913

原创 初始化一个 Vue3 项目

本文详细介绍了如何使用 Vite 初始化 Vue3 + TypeScript 项目,并配置 @ 路径别名。同时提供了完整的 Prettier 格式化工具集成教程,包括安装、配置、忽略文件、Git Hooks 集成和常见问题排查,帮助团队实现代码风格统一与自动化格式化。

2025-06-20 00:35:22 941

原创 Spring Boot 3 与 MongoDB:构建高性能 NoSQL 应用的指南

Spring Data MongoDB 进一步简化了 MongoDB 的操作。开发者只需定义实体类和 Repository 接口,就能实现对 MongoDB 的 CRUD 操作,大幅减少样板代码。本文带着大家一步一步的集成MongoDB。

2025-04-05 15:10:40 981

原创 学习MongoDB最佳步骤指南

本文主要带领还没有了解过MongoDB的同学,对于这门技术的一个初步了解学习

2025-04-04 22:16:11 921

原创 Spring AI 的初步实践与探索

随着人工智能技术的快速发展,Spring AI 提供了一个强大的框架,让开发者能够轻松集成 AI 模型到 Spring Boot 应用中。本文将深入探讨如何通过 Spring AI 集成 DeepSeek 和 ZhiPu AI 模型,实现基础对话、流式输出、带记忆的会话以及 Function Call 的基础功能。无论你是初学者还是有经验的开发者,这篇博客都将为你提供清晰的实现路径和实用代码示例。

2025-03-26 21:40:37 1165

原创 SpringBoot处理跨域请求

在前后端分离的开发模式下,前端访问不同域的后端接口时,会遇到跨域问题(CORS)。SpringBoot 提供了多种解决方案,本文介绍几种常见方法,并附详细代码示例。

2025-03-22 19:37:07 254

原创 Spring Boot 深度解析:从 0 到 1 探索启动之谜

在日常开发中,我们经常使用 `Spring Boot` 来快速构建 Web 应用,但你是否深入思考过它的启动流程是如何工作的?当你在 `main` 方法中调用 `SpringApplication.run()` 时,Spring Boot 究竟经历了哪些关键步骤,最终成功启动了应用?本篇文章将深入 Spring Boot 源码,剖析其启动流程,帮助你理解它的内部原理,让你在排查问题、优化启动速度时更加得心应手。

2025-03-22 19:23:10 402

原创 深入 MyBatis 内核:手写分页插件的高级技术解析

想必大家都使用过或听说过 MyBatis 的 分页插件 PageHelper,通过这个插件我们根本就不需要将分页的 SQL 或者条件写在 SQL 语句中,只需要在调用 Dao 的时候先定义一下分页的设置。MyBatis 的 PageHelper 是一个非常实用的分页插件,它可以帮助简化在 MyBatis 中进行分页查询的操作。使用 PageHelper 插件,你可以不需要手动编写分页查询的 SQL 语句,而是通过简单的配置来实现分页功能。我直接贴出我的代码,实现的思路和细节可以直接查看代码。

2024-06-12 10:38:37 753 3

原创 谈谈什么是线程池

线程池和数据库连接池非常相似,可以统一管理和维护线程,减少不必要的开销本文我们介绍了线程池的 7 种创建方式,其中最推荐使用的是的方式进行线程池的创建,最多可以设置 7 个参数,当然设置 5 个参数也可以正常使用,当任务过多(处理不过来)时提供了 4 种拒绝策略,当然我们也可以自定义拒绝策略。

2024-04-15 14:16:51 966 1

原创 Docker安装部署[8.x]版本Elasticsearch+Kibana+IK分词器

本文介绍了使用Docker部署Elasticsearch 8.10.4、Kibana及IK分词器的完整流程。首先拉取镜像并创建专用网络,然后启动Elasticsearch容器并配置单节点模式,通过重置密码获取访问凭证。接着部署Kibana容器,使用Elasticsearch生成的令牌和验证码完成关联配置。最后在Elasticsearch容器中安装对应版本的IK中文分词器插件。整个过程包含了HTTPS访问、安全认证等8.x版本的新特性处理,为构建搜索服务提供了完整的容器化解决方案。

2024-04-15 14:14:51 1115 1

原创 图数据库neo4j的基本使用

它是Neo4j图形数据库的查询语言。它是一种声明性模式匹配语言它遵循SQL语法。它的语法是非常简单且人性化、可读的格式。常用的CQL命令CQL命令用法CREATE 创建创建节点,关系和属性MATCH 匹配检索有关节点,关系和属性数据RETURN 返回返回查询结果WHERE 哪里提供条件过滤检索数据DELETE 删除删除节点和关系REMOVE 移除删除节点和关系的属性ORDER BY以…排序排序检索数据SET 组添加或更新标签常用的CQL函数定制列表功能用法。

2024-04-11 14:25:34 2124 1

原创 SpringBoot使用OPC UA 方式与设备通信(milo)

基于生产过程控制系统(MES)与生产设备(PLC)通信的需求,PLC型号西门子S7-1500,设备数据采集使用KEPwareEX6.4 , 将kepware 作为服务端来开发一个Java服务,用于生产过程控制系统与设备数据交互,达到控制生产过程的目的。

2024-04-11 14:22:13 1801 6

原创 MAC m系列 Docker安装kafka

M系列芯片Mac电脑 Docker安装kafka

2024-04-11 14:20:12 810 1

原创 MySQL与Redis:协调数据一致性的精妙平衡

本文探讨了MySQL和Redis数据一致性的6种解决方案。通过分析发现,在实时性要求下无法实现完全一致性,只有最终一致性方案可行。文章对比了先写MySQL/Redis、先删除Redis再写MySQL等方案,指出各自的优缺点。最终推荐两种最优方案:对于实时性要求高的场景,采用"先写MySQL再删除Redis";对于最终一致性场景,采用"通过MySQL的Binlog异步更新Redis"。特别强调要避免简单的双删加sleep方案,建议使用消息队列实现异步串行化删除,并建立重

2024-03-15 14:02:47 1006 3

原创 Docker离线安装全攻略:让你在无网络环境下也能轻松掌握

本文介绍了Docker离线安装的具体步骤:首先下载Docker离线包和安装工具,将资源文件放置在指定目录;然后在Linux环境下创建目录并上传资源;最后通过执行安装脚本完成安装。安装完成后可通过docker info命令验证安装状态。整个过程详细说明了从准备资源到完成安装的完整流程。

2024-03-15 13:53:50 6881 1

原创 深入探讨接口限流:优化你的应用性能的关键步骤

限流是一种控制系统资源利用率的技术,它通过限制请求的数量或速率,以保护系统免受过载的影响。限流可以应用于各种系统中,包括网络服务、数据库、消息队列等。固定窗口算法(Fixed Window):在固定的时间窗口内计数请求,如果超过了限定的阈值,则拒绝后续请求。例如,限定每秒钟最多处理100个请求。滑动窗口算法(Sliding Window):与固定窗口算法类似,但窗口会根据时间动态滑动,以平滑请求速率的突发。这种算法可以更精确地控制请求速率。

2024-03-14 15:48:38 635 1

原创 如何快速初始化服务器

本文介绍了服务器初始化的关键步骤:1)创建新用户并赋予sudo权限,关闭root远程登录提升安全性;2)安装配置Nginx,包括创建web目录、修改配置文件结构以便管理多域名;3)使用Certbot工具配置HTTPS证书,详细说明了Snapd安装和证书生成流程。整个过程涵盖了从基础用户管理到Web服务部署的安全配置要点,为服务器快速初始化提供了完整操作指南。

2024-03-14 15:41:06 457 1

空空如也

空空如也

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

TA关注的人

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