自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 单例模式:确保类的唯一实例

将详细介绍单例模式的概念、实现方式以及应用场景,帮助读者全面理解这一设计模式并能在实际开发中灵活应用。

2025-04-27 14:53:50 815

原创 Caffeine + @Cacheable:高效本地缓存实现指南

详细介绍如何使用 Caffeine 结合 Spring 的 `@Cacheable` 注解实现本地缓存,提升系统性能。

2025-04-27 14:51:30 952

原创 浅谈 MySQL 日志的原理

深入剖析 MySQL 的日志系统,帮助读者理解其设计原理和实际价值。

2025-04-27 14:48:41 1212

原创 浅谈 MySQL 锁的原理与应用

将浅谈 MySQL 中的各种锁机制,包括它们的原理、使用场景以及实际应用中的注意事项。

2025-04-20 15:58:16 747

原创 浅谈 MySQL 索引的原理与优化

从索引的基本概念入手,深入探讨 MySQL 索引的底层原理、常见类型、使用技巧以及优化策略,帮助读者更好地理解和应用这一重要技术。

2025-04-15 22:18:50 986

原创 浅谈 MySQL 事务的基本概念与应用

系统讲解 mysql 事务的概念、特性、状态以及实际应用,帮助开发者更好地理解和使用事务机制。

2025-04-12 22:11:37 1121

原创 为 GitHub 开源项目贡献代码

最近在学习开源项目的过程中,发现项目代码存在一些 bug,便尝试贡献自己的代码解决这些问题。由于平时使用 Git 通常仅限于git add .git push等基本操作,在多次提交 Pull Request (PR) 的过程中遇到了不少困难。本文将系统地整理 GitHub 上为开源项目贡献代码的完整流程和常见问题的解决方案。没有 VIP 的读者可以去看原文为 GitHub 开源项目贡献代码。

2025-04-07 01:05:27 1238

原创 Redis String 实现分布式锁

在分布式系统中,并发控制就像是多个人同时进出一个房间,如何确保秩序?想象一下这个场景:双十一抢购活动中,某个热门商品只剩最后 10 件,此时有几万人同时点击"下单"。如果没有适当的并发控制,很可能导致最终售出 100 件(严重超卖),但实际仓库只有 10 件商品,这将带来糟糕的用户体验和业务混乱。在单机应用中,我们可以使用 Java 的关键字或轻松解决这类问题。但在分布式环境下,这些本地锁无法跨服务器工作,此时我们需要一种能在多个服务实例间协调的锁机制——分布式锁。

2025-04-03 11:23:18 820

原创 Redis Hash 实现计数统计

在互联网应用中,计数统计功能看似平凡,实则无处不在。这些数字不仅提供了重要的数据指标,还能增强用户参与感和互动性。我最近在开发过程中思考:如何设计一个既高效又可靠的计数统计系统?经过查询大量资料和实践,我发现 Redis 的 Hash 数据结构是一个极其优秀的解决方案。今天,就让我们一起探索如何利用 Redis Hash 来构建强大的计数统计功能。Redis HSet 提供了一种高效、灵活的计数统计解决方案。通过合理的键设计、字段规划和业务解耦,我们可以构建出既高性能又可靠的计数统计系统。

2025-03-31 21:00:42 1243

原创 Redis Set 实现白名单

高性能:Redis 的内存操作保证了毫秒级的响应时间灵活性:可以随时添加、删除白名单成员,无需改动代码功能丰富:支持集合运算,可以实现复杂的白名单逻辑实现简单:几十行代码就能搞定核心功能在实际项目中,我们选择了 Redis 实现方案,因为它在简单性和高性能间取得了完美平衡。你的项目中是否也有类似的白名单需求呢?不妨试试 Redis Set 实现,你会发现它简单得令人惊喜!

2025-03-29 21:19:15 747

原创 通俗易懂:VO、BO、PO、DO、DTO 的区别

PO:数据库表的映射,与数据库结构一一对应DO:包含业务逻辑的领域对象,是业务的核心BO:封装多个 DO 的业务对象,处理复杂的业务逻辑DTO:用于不同层之间传输数据,可以隐藏内部实现细节VO:用于页面展示,根据展示需求封装数据数据访问层关注 PO业务逻辑层关注 DO 和 BO接口层关注 DTO展示层关注 VO提高代码的可维护性降低系统各层之间的耦合更好地适应需求变化提高代码的复用性高内聚,低耦合。每一层都只关注自己需要的数据,通过对象转换来实现层与层之间的解耦。

2025-03-27 21:49:21 1612

原创 RabbitMQ 连接池集成到 SpringBoot

在高并发应用场景中,消息队列作为核心组件之一发挥着至关重要的作用。RabbitMQ 作为一款成熟的消息中间件,常被用于系统间异步通信、流量削峰填谷等场景。然而,创建和销毁 RabbitMQ 连接是一项资源消耗较大的操作,频繁地建立连接会导致系统性能下降、网络资源浪费,甚至可能引发连接泄漏等问题。本文将介绍如何在 Spring Boot 应用中实现一个简单高效的 RabbitMQ 连接池,通过连接复用机制显著提升应用对 RabbitMQ 的访问性能和稳定性。

2025-03-26 12:06:58 899

原创 消息队列 RabbitMQ 的特征和原理

在现代分布式系统架构中,各个服务之间的通信方式至关重要。随着业务复杂度的增加,系统间的耦合度也随之提高,这给系统的可维护性和可扩展性带来了巨大挑战。消息队列作为一种异步通信方式,很好地解决了这些问题,它允许不同服务间松耦合地交换信息,提高了系统的可扩展性、容错性和峰值处理能力。本文将深入探讨 RabbitMQ 这一广受欢迎的开源消息队列系统,从其基本概念、核心工作原理到实际应用场景,帮助读者全面了解这一强大的中间件工具。

2025-03-25 13:31:45 941

原创 Redis ZSet 实现用户活跃排行榜

在互联网应用中,用户活跃度排行榜是增强用户互动和促进社区活跃的重要功能。传统的基于关系型数据库的实现方案面临着性能瓶颈,特别是在高并发场景下。本文将详细介绍如何利用Redis的特性来实现一个高效、实时的用户活跃排行榜系统。在某些特定场景下,例如用户活跃度统计这类对实时性要求高但允许少量数据丢失的功能,我们可以直接使用 Redis 作为主要存储,而非作为 MySQL 的缓存层。

2025-03-24 10:44:16 1021

原创 如何保障 MySQL 数据库和 Redis 缓存数据一致性

在高并发业务场景中,数据库通常是系统架构中最容易成为性能瓶颈的环节。为了解决这一问题,我们常常引入 Redis 作为缓存层,在访问链路中充当缓冲区角色,让用户请求优先访问 Redis 而非直接查询 MySQL 等关系型数据库,从而显著降低数据库的访问压力。本文将聚焦于 MySQL 数据库与 Redis 缓存操作的先后顺序问题,而非深入探讨各种缓存策略(如旁路缓存、读写穿透策略或写回策略等)的实现细节。通过分析不同的操作顺序,我们将探讨如何有效地保障缓存与数据库之间的数据一致性。

2025-03-23 21:04:30 1180

空空如也

空空如也

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

TA关注的人

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