GitFlow工作流 引言在团队协作开发中,分支管理始终是一个需要精细设计的环节。如何在并行开发与稳定交付之间取得平衡,是每个团队都要面对的挑战。GitFlow 作为一种经典的 Git 分支管理模型,以 “双主分支” 和辅助分支模式为核心,为中大型项目或发行版式开发提供了清晰的开发流程和版本管理方案。本文将详细介绍 GitFlow 的基本概念、分支模型以及在实际项目中的应用与局限,为读者在团队协作时提供一个可行的参考。 2025-02-06 Git Git 版本管理 GitFlow工作流
Redis实战——消息队列 引言在现代分布式系统中,消息队列起着至关重要的作用。它通过异步通信的方式,实现系统各服务间的解耦和流量削峰。对于初级场景,我们可能在单个 Java 应用中借助阻塞队列来简化异步处理,但随着业务需求的增长和系统架构的演进,跨进程通信、数据持久化、高并发以及分布式部署成为关键要素。此时,Redis 作为一款高性能的内存数据库,提供了多种消息队列实现方式——包括 List、Pub/Sub 和 Strea 2024-12-29 Redis Redis NoSQL Redis实战
Redis实战——分布式业务ID生成器 引言在分布式系统中,为了保证订单、流水等业务单号的唯一性、高可用、高性能和有序递增,我们通常会选择分布式ID生成方案。本文将结合一个“业务单号”案例,演示如何使用RedisAtomicLong来生成符合业务需求的可读单号,并与常见的Snowflake算法做简单对比。 规则在实际业务场景中,单号除了需要具备唯一性,还希望包含一些能够体现业务维度的信息,方便快速识别或手动对账。例如,一个典型的销售订单 2024-12-25 Redis Redis NoSQL Redis实战
Redis实战——缓存 引言在现代软件系统中,缓存已成为提升性能、减少数据库压力和提高响应速度的重要手段。尤其是在高并发、分布式环境中,缓存往往是架构中的“加速器”。Redis由于其高性能、丰富的数据结构以及良好的生态支持,被广泛用作缓存层。本篇文章将围绕“Redis作为缓存”这一主题,详细探讨缓存的概念、适用场景、更新策略、常见问题以及与流行框架的结合。 缓存概念缓存是一个存储层,旨在存储部分数据的副本,以减少从数据库 2024-12-25 Redis Redis NoSQL Redis实战
Redis实战——验证码和Token的存储与管理 引言随着互联网应用的快速发展,用户认证方式也在不断演进。传统的用户名密码登录方式虽然广泛使用,但存在密码泄露、暴力破解等安全隐患。基于验证码的登录方式,尤其是通过邮箱验证码进行登录,因其操作简便、安全性高而受到越来越多应用的青睐。 在微服务架构下,多个服务协同工作,用户认证与授权需要具备高可用性和可扩展性。Redis作为高性能的内存数据存储系统,凭借其快速的数据读写能力和丰富的数据结构,成为实现分 2024-12-19 Redis Redis NoSQL Redis实战
Redis——Redisson分布式锁 前言前面我们基于Redis实现的分布式锁能处理最基本的互斥,但还有许多的功能没有实现,如可重入、可重试、自旋等,在企业开发环境下,通常会引入Redisson这个成熟的框架来完善这些功能。本文将详细介绍Redisson的分布式锁功能,包括不同类型的锁的特性、应用场景以及如何在Spring Boot项目中实现和配置这些锁。 Redisson分布式锁支持Redisson是一个在Java环境下使用Redi 2024-12-15 Redis Redis NoSQL Redisson
Redis——分布式锁 引言在分布式系统中,管理并发访问共享资源是一个挑战,需要确保系统的一致性和可靠性。分布式锁提供了一种机制,通过锁定资源来控制跨多个节点的并发访问。Redis,作为高性能的NoSQL数据库,由于其内存操作的特性和灵活的数据结构,被广泛用于实现分布式锁。本文详细介绍了分布式锁的概念、设计原则、实现方式,以及如何利用Redis和Lua脚本来实现高效且安全的分布式锁。 分布式锁简介分布式锁是一种在分布式系 2024-12-13 Redis Redis NoSQL
Redis——基础篇 引言Redis,作为一种高性能的键值数据库,自2009年诞生以来,因其出色的性能和丰富的数据结构支持,已成为现代数据处理中不可或缺的工具。它的设计为处理高速数据操作和实时应用提供了理想的解决方案。本文将介绍Redis的主要特性、安装过程、基本命令、以及如何通过Java客户端与之交互,帮助读者快速掌握Redis的使用和应用。 简介Redis诞生于2009年,全称为Remote Dictionary 2024-12-04 Redis Redis NoSQL
Springdoc——根据JavaDoc生成接口文档 在现代应用程序开发中,API文档是非常重要的一部分,它不仅帮助开发者更好地理解接口的使用,也有助于跨团队协作。本文将介绍如何使用Springdoc自动地、无侵入地生成基于Javadoc的API文档,帮助你在开发中更简单地维护API文档。 2024-10-17 Springdoc Springdoc OpenAPI,项目协作
Spring-ApplicationContext-Web 我们将以常见的Web应用开发对ApplicationContext进行展开,本篇文章将初步介绍Spring Boot提供了构建两种主要Web应用模型的能力:传统的基于Servlet的模型和新兴的基于响应式编程的模型。本文将探索这两种模型的特点、适用场景以及对应的类图。 2024-09-23 Spring Spring SpringBoot