Tier 前言// TODO Tier// TODO HotRing背景在秒杀、热搜等高并发的场景下,绝大多数访问量都集中于部分热点数据,传统的内存数据库索引采用哈希索引时,查找位于链表末端的热点数据需要进行多次内存跳转,会导致效率降低。 核心HotRing将数据结构修改为有序冲突环,将热点数据移动到离访问入口最近的位置,从而大幅降低链表内部的跳转路径,为了适应高并发 2026-05-09 #存储系统 #KV数据库
Rust基础语法 Rust 基础语法1. 变量和可变性变量声明Rust 中变量默认是不可变的。使用 let 声明变量,使用 mut 修饰符使其可变。 12345let x = 5; // 不可变变量let mut y = 5; // 可变变量y = 6; // 可以重新赋值let z: i32 = 10; // 显式指定类型 常量常量使用 con 2026-03-26 Rust
LTW加载时织入 导言Spring Boot 应用中,基于注解的 AOP 切面只能作用于由 Spring 容器管理的 Bean。对于第三方 JAR 包中的类(未被 Spring 管理),常规 AOP 无法生效。为此,可引入 LTW(Load-Time Weaving),在类加载时动态织入切面逻辑,从而修改第二方或第三方代码的行为。 引入依赖123456789<dependency> <gro 2026-01-29 Java > 工程实践
数据库基础 数据库设计范式数据库规范化(Normalization)是关系型数据库设计中用于减少数据冗余、避免更新异常、提高数据一致性的一系列理论规则。范式从第一范式(1NF)到第六范式(6NF)逐级增强约束,实际开发中最常用的是 1NF ~ 3NF,部分场景会用到 BCNF。 术语定义超键(Superkey)能够唯一标识表中每一行记录的一个或多个属性的集合。例如:在学生表 (学号, 身份证号, 姓名) 中 2026-01-19 存储系统 > 数据库基础 #存储系统 #数据库基础
加密字段模糊搜索 导读加密字段由于“雪崩效应”特性,无法直接进行 SQL 模糊查询,但在实际业务中往往有脱敏字段的模糊搜索需求。本文介绍主流的安全实现思路(分片哈希索引法),兼顾安全与业务需求,并提供代码与原理讲解实现“加密字段模糊搜索”。 背景敏感信息(如手机号、身份证号、银行卡号、地址等)加密后无法直接使用 SQL 的 LIKE ‘%xxx%’ 进行模糊搜索,因为加密是“雪崩效应”的:明文微小变化 → 密文完全 2026-01-14 Java > 工程实践
React类组件全局变量陷阱:深度解析实例隔离问题 导言在使用 React 类组件(Class Components)开发复杂表单或高复用性的业务页面时,开发者往往会为了方便定义一些辅助性的数据结构。然而,一个隐蔽且致命的错误是:将本应属于组件实例的变量定义在类外部的模块作用域中。 这种做法会破坏组件的封装性,导致多个组件实例意外共享同一份内存数据。在多 Tab 切换、路由缓存(如使用 keep-alive 或 @withActivation)以及 2026-01-09 前端 > React #React #JavaScript #最佳实践
熔断限流框架 导言在分布式系统架构中,熔断和限流是确保系统高可用性与稳定性的重要手段。当前业界广泛使用的三大主流开源熔断限流框架分别是:Hystrix、Sentinel、Resilience4j。这些框架主要提供以下功能: 熔断(Circuit Breaker):当调用某个微服务接口出现故障(如超时或异常)比例过高时,临时阻断对该接口的调用请求,防止错误在系统内蔓延,保证核心服务的可用性。 限流(Rate L 2026-01-08 Java > 工程实践 #熔断 #限流