diff --git a/.gitea/config/redis-schema-check-config.yaml b/.gitea/config/cache-schema-check-config.yaml
similarity index 80%
rename from .gitea/config/redis-schema-check-config.yaml
rename to .gitea/config/cache-schema-check-config.yaml
index 6d69433..86efd4c 100644
--- a/.gitea/config/redis-schema-check-config.yaml
+++ b/.gitea/config/cache-schema-check-config.yaml
@@ -1,11 +1,12 @@
# ============================================================
-# Redis 序列化结构变更检测 — 业务仓库配置
+# 缓存序列化结构变更检测 — 业务仓库配置
# ============================================================
# 说明:
# - 本配置文件为业务覆盖配置,会与 jar 内 default-config.yaml 深度合并
# - 未声明的项沿用工具内置默认值(忽略规则、检测模式等)
+# - 当前实现以 Redis 写入检测为主,后续可扩展其他缓存
-# 总开关 true-执行检测 false-跳过检测
+# 总开关 true-执行检测 false-跳过检测(流水线直接通过,不发通知)
enabled: true
# 运行模式 notify-仅通知,不阻断流水线 block-检测到结构变更即阻断流水线(exit 1)
@@ -16,7 +17,7 @@ notify:
enabled: true
webhook_url: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=fa14f0b3-e01a-40f6-96bd-e18beb94e85e
notify_on_clean: false
- title_prefix: "【序列化结构变更】"
+ title_prefix: "【缓存结构变更】"
# 观察期:先只扫描 jnpf-tenant 模块,稳定后改为 include_modules: []
include_modules:
diff --git a/.gitea/workflows/redis-schema-check.yaml b/.gitea/workflows/cache-schema-check.yaml
similarity index 67%
rename from .gitea/workflows/redis-schema-check.yaml
rename to .gitea/workflows/cache-schema-check.yaml
index 18cb175..8e5227b 100644
--- a/.gitea/workflows/redis-schema-check.yaml
+++ b/.gitea/workflows/cache-schema-check.yaml
@@ -1,17 +1,17 @@
-name: Redis序列化结构检查
-run-name: ${{ gitea.actor }}的Redis结构检查
+name: 缓存序列化结构检查
+run-name: ${{ gitea.actor }}的缓存结构检查
on:
push:
workflow_dispatch:
env:
- # redis-schema-checker 私库坐标:com.codechecker:redis-schema-checker:1.0.0
- REDIS_SCHEMA_CHECKER_VERSION: "1.0.0"
- REDIS_SCHEMA_CHECKER_REPO_URL: "http://192.168.3.25:18081/nexus/repository/maven-releases"
+ # cache-schema-checker 私库坐标:com.codechecker:cache-schema-checker:1.0.0
+ CACHE_SCHEMA_CHECKER_VERSION: "1.0.0"
+ CACHE_SCHEMA_CHECKER_REPO_URL: "http://192.168.3.25:18081/nexus/repository/maven-releases"
jobs:
- redis-schema-check:
+ cache-schema-check:
if: ${{ gitea.ref != 'refs/heads/pre' && gitea.ref != 'refs/heads/dev' && gitea.ref != 'refs/heads/master-2.0' }}
runs-on: jdk11
steps:
@@ -26,26 +26,26 @@ jobs:
- name: 检查配置文件
run: |
- if [ ! -f .gitea/config/redis-schema-check-config.yaml ]; then
- echo "错误: 缺少 .gitea/config/redis-schema-check-config.yaml"
+ if [ ! -f .gitea/config/cache-schema-check-config.yaml ]; then
+ echo "错误: 缺少 .gitea/config/cache-schema-check-config.yaml"
exit 1
fi
# 顶层总开关 enabled: false 时跳过后续步骤(与 notify.enabled 区分,仅匹配行首)
- if grep -Eq '^enabled:[[:space:]]*false([[:space:]]|#|$)' .gitea/config/redis-schema-check-config.yaml; then
- echo "总开关 enabled=false,跳过 Redis 结构检查"
- touch /tmp/redis-schema-check.skip
+ if grep -Eq '^enabled:[[:space:]]*false([[:space:]]|#|$)' .gitea/config/cache-schema-check-config.yaml; then
+ echo "总开关 enabled=false,跳过缓存结构检查"
+ touch /tmp/cache-schema-check.skip
fi
- - name: 从 Nexus 私库下载 redis-schema-checker
+ - name: 从 Nexus 私库下载 cache-schema-checker
run: |
- if [ -f /tmp/redis-schema-check.skip ]; then
+ if [ -f /tmp/cache-schema-check.skip ]; then
echo "总开关已关闭,跳过下载"
exit 0
fi
- GROUP_PATH="com/codechecker/redis-schema-checker"
- JAR_NAME="redis-schema-checker-${REDIS_SCHEMA_CHECKER_VERSION}.jar"
- JAR_URL="${REDIS_SCHEMA_CHECKER_REPO_URL}/${GROUP_PATH}/${REDIS_SCHEMA_CHECKER_VERSION}/${JAR_NAME}"
+ GROUP_PATH="com/codechecker/cache-schema-checker"
+ JAR_NAME="cache-schema-checker-${CACHE_SCHEMA_CHECKER_VERSION}.jar"
+ JAR_URL="${CACHE_SCHEMA_CHECKER_REPO_URL}/${GROUP_PATH}/${CACHE_SCHEMA_CHECKER_VERSION}/${JAR_NAME}"
JAR_PATH="/tmp/${JAR_NAME}"
echo "下载: ${JAR_URL}"
@@ -67,15 +67,15 @@ jobs:
- name: 验证 JDK
run: |
- if [ -f /tmp/redis-schema-check.skip ]; then
+ if [ -f /tmp/cache-schema-check.skip ]; then
echo "总开关已关闭,跳过"
exit 0
fi
echo "Java: $(java -version 2>&1 | head -1)"
- - name: 执行 Redis 序列化结构检测
+ - name: 执行缓存序列化结构检测
run: |
- if [ -f /tmp/redis-schema-check.skip ]; then
+ if [ -f /tmp/cache-schema-check.skip ]; then
echo "总开关已关闭,跳过检测"
exit 0
fi
@@ -88,8 +88,8 @@ jobs:
COMMIT_TIME=$(git log -1 --format=%cd --date=format:'%Y-%m-%d %H:%M:%S')
- java -jar "/tmp/redis-schema-checker-${REDIS_SCHEMA_CHECKER_VERSION}.jar" \
- --config .gitea/config/redis-schema-check-config.yaml \
+ java -jar "/tmp/cache-schema-checker-${CACHE_SCHEMA_CHECKER_VERSION}.jar" \
+ --config .gitea/config/cache-schema-check-config.yaml \
--repo-root . \
--old-sha "$OLD_SHA" \
--new-sha "$(git rev-parse HEAD)" \
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 8c50bf8..880e7f1 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -6,11 +6,11 @@
-
+
-
+
-
\ No newline at end of file
+
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index bb6937f..d8a7215 100644
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -1,9 +1,7 @@
-
-
-
\ No newline at end of file
+
diff --git a/docs/CI集成说明.md b/docs/CI集成说明.md
index 7f6421c..d8f7d24 100644
--- a/docs/CI集成说明.md
+++ b/docs/CI集成说明.md
@@ -1,4 +1,4 @@
-# Redis 序列化结构检测 — CI 集成说明
+# 缓存序列化结构检测 — CI 集成说明
---
@@ -11,7 +11,7 @@ Gitea Actions 触发
↓
浅克隆业务仓库(depth=2)
↓
-从 Nexus 下载 redis-schema-checker.jar
+从 Nexus 下载 cache-schema-checker.jar
↓
java -jar 执行(对比 HEAD~1 与 HEAD)
↓
@@ -28,7 +28,7 @@ mode=block 且含 P0/P1/P2 任一变更 → exit 1(流水线失败)
|----|------|
| Gitea Runner | 标签 `jdk11`,已安装 Java 11 |
| Nexus 私库 | 可访问 `http://192.168.3.25:18081/nexus/repository/maven-releases` |
-| 工具 JAR | `com.codechecker:redis-schema-checker:1.0.0` 已发布 |
+| 工具 JAR | `com.codechecker:cache-schema-checker:1.0.0` 已发布 |
| 仓库 Secret | `WECOM_ROBOT_WEBHOOK` 已配置 |
---
@@ -41,9 +41,9 @@ mode=block 且含 P0/P1/P2 任一变更 → exit 1(流水线失败)
jnpf-java-cloud/
├── .gitea/
│ ├── workflows/
-│ │ └── redis-schema-check.yaml # 流水线
+│ │ └── cache-schema-check.yaml # 流水线
│ └── config/
-│ └── redis-schema-check-config.yaml # 检测配置
+│ └── cache-schema-check-config.yaml # 检测配置
```
---
@@ -51,19 +51,19 @@ jnpf-java-cloud/
## 4. 流水线模板
```yaml
-name: Redis序列化结构检查
-run-name: ${{ gitea.actor }}的Redis结构检查
+name: 缓存序列化结构检查
+run-name: ${{ gitea.actor }}的缓存结构检查
on:
push:
workflow_dispatch:
env:
- REDIS_SCHEMA_CHECKER_VERSION: "1.0.0"
- REDIS_SCHEMA_CHECKER_REPO_URL: "http://192.168.3.25:18081/nexus/repository/maven-releases"
+ CACHE_SCHEMA_CHECKER_VERSION: "1.0.0"
+ CACHE_SCHEMA_CHECKER_REPO_URL: "http://192.168.3.25:18081/nexus/repository/maven-releases"
jobs:
- redis-schema-check:
+ cache-schema-check:
if: ${{ gitea.ref != 'refs/heads/pre' && gitea.ref != 'refs/heads/dev' && gitea.ref != 'refs/heads/master-2.0' }}
runs-on: jdk11
steps:
@@ -76,16 +76,16 @@ jobs:
- name: 检查配置文件
run: |
- if [ ! -f .gitea/config/redis-schema-check-config.yaml ]; then
- echo "错误: 缺少 .gitea/config/redis-schema-check-config.yaml"
+ if [ ! -f .gitea/config/cache-schema-check-config.yaml ]; then
+ echo "错误: 缺少 .gitea/config/cache-schema-check-config.yaml"
exit 1
fi
- name: 从 Nexus 下载检测工具
run: |
- GROUP_PATH="com/codechecker/redis-schema-checker"
- JAR_NAME="redis-schema-checker-${REDIS_SCHEMA_CHECKER_VERSION}.jar"
- JAR_URL="${REDIS_SCHEMA_CHECKER_REPO_URL}/${GROUP_PATH}/${REDIS_SCHEMA_CHECKER_VERSION}/${JAR_NAME}"
+ GROUP_PATH="com/codechecker/cache-schema-checker"
+ JAR_NAME="cache-schema-checker-${CACHE_SCHEMA_CHECKER_VERSION}.jar"
+ JAR_URL="${CACHE_SCHEMA_CHECKER_REPO_URL}/${GROUP_PATH}/${CACHE_SCHEMA_CHECKER_VERSION}/${JAR_NAME}"
JAR_PATH="/tmp/${JAR_NAME}"
echo "下载: ${JAR_URL}"
@@ -108,7 +108,7 @@ jobs:
- name: 验证 JDK
run: java -version
- - name: 执行 Redis 结构检测
+ - name: 执行 缓存结构检测
env:
WECOM_ROBOT_WEBHOOK: ${{ secrets.WECOM_ROBOT_WEBHOOK }}
run: |
@@ -120,8 +120,8 @@ jobs:
COMMIT_TIME=$(git log -1 --format=%cd --date=format:'%Y-%m-%d %H:%M:%S')
- java -jar "/tmp/redis-schema-checker-${REDIS_SCHEMA_CHECKER_VERSION}.jar" \
- --config .gitea/config/redis-schema-check-config.yaml \
+ java -jar "/tmp/cache-schema-checker-${CACHE_SCHEMA_CHECKER_VERSION}.jar" \
+ --config .gitea/config/cache-schema-check-config.yaml \
--repo-root . \
--old-sha "$OLD_SHA" \
--new-sha "$(git rev-parse HEAD)" \
@@ -138,7 +138,7 @@ jobs:
|--------|------|------|
| `demo.yaml` (AI代码质量分析) | AI Code Review | 并行,互不影响 |
| `code-check` (CodeChecker) | 通用变更检测 | **同模式**,可并列执行 |
-| `redis-schema-check` | Redis 结构检测 | 新增 |
+| `cache-schema-check` | 缓存结构检测 | 新增 |
建议:三个 job 独立并行,各自 exit code 独立。
@@ -157,9 +157,9 @@ mvn clean deploy -Dnexus.deploy.enabled=true -DskipTests
发布产物:
```text
-com/codechecker/redis-schema-checker/1.0.0/
- ├── redis-schema-checker-1.0.0.jar # 可执行 fat-jar
- └── redis-schema-checker-1.0.0.pom
+com/codechecker/cache-schema-checker/1.0.0/
+ ├── cache-schema-checker-1.0.0.jar # 可执行 fat-jar
+ └── cache-schema-checker-1.0.0.pom
```
---
@@ -191,8 +191,8 @@ com/codechecker/redis-schema-checker/1.0.0/
```bash
# 在 jnpf-java-cloud 根目录
-java -jar /path/to/redis-schema-checker-1.0.0.jar \
- --config .gitea/config/redis-schema-check-config.yaml \
+java -jar /path/to/cache-schema-checker-1.0.0.jar \
+ --config .gitea/config/cache-schema-check-config.yaml \
--repo-root . \
--old-sha HEAD~1 \
--new-sha HEAD \
diff --git a/docs/实施方案.md b/docs/实施方案.md
index c51a6ba..f0bc344 100644
--- a/docs/实施方案.md
+++ b/docs/实施方案.md
@@ -1,4 +1,4 @@
-# Redis 序列化结构变更检测 — 实施方案
+# 缓存序列化结构变更检测 — 实施方案
> 版本:v0.1
> 日期:2026-07-13
@@ -104,12 +104,12 @@
redisCheck 仓库
├── 开发 Java 分析工具
├── mvn package 打 fat-jar
- ├── 发布到 Nexus:com.codechecker:redis-schema-checker:{version}
+ ├── 发布到 Nexus:com.codechecker:cache-schema-checker:{version}
└── 提供默认配置模板
jnpf-java-cloud 仓库
- ├── .gitea/workflows/redis-schema-check.yaml
- ├── .gitea/config/redis-schema-check-config.yaml
+ ├── .gitea/workflows/cache-schema-check.yaml
+ ├── .gitea/config/cache-schema-check-config.yaml
└── push 时下载 jar 并执行检测
```
@@ -119,11 +119,11 @@ jnpf-java-cloud 仓库
flowchart TB
subgraph Gitea["Gitea Push Pipeline"]
A[push 事件] --> B[浅克隆 old/new 提交]
- B --> C[下载 redis-schema-checker.jar]
+ B --> C[下载 cache-schema-checker.jar]
C --> D[java -jar 执行检测]
end
- subgraph Checker["redis-schema-checker (JDK 11)"]
+ subgraph Checker["cache-schema-checker (JDK 11)"]
D --> E[GitDiffScanner]
E --> F[RedisWritePointDetector]
F --> G[JavaSchemaExtractor]
@@ -195,8 +195,8 @@ redisCheck/
│ ├── resources/fixtures/tenant/
│ └── java/...
├── .gitea/
-│ ├── workflows/redis-schema-check.yaml
-│ └── config/redis-schema-check-config.yaml
+│ ├── workflows/cache-schema-check.yaml
+│ └── config/cache-schema-check-config.yaml
└── target/ # 构建产物
```
@@ -204,11 +204,11 @@ redisCheck/
```xml
com.codechecker
-redis-schema-checker
+cache-schema-checker
1.0.0-SNAPSHOT
```
-打包为 **shaded/fat jar**,主类:`com.codechecker.redis.cli.RedisSchemaCheckerMain`
+打包为 **shaded/fat jar**,主类:`com.codechecker.cache.cli.CacheSchemaCheckerMain`
---
@@ -217,8 +217,8 @@ redisCheck/
### 6.1 CLI 参数
```bash
-java -jar redis-schema-checker-1.0.0.jar \
- --config .gitea/config/redis-schema-check-config.yaml \
+java -jar cache-schema-checker-1.0.0.jar \
+ --config .gitea/config/cache-schema-check-config.yaml \
--repo-root /path/to/jnpf-java-cloud \
--old-sha abc123 \
--new-sha def456 \
@@ -251,7 +251,7 @@ java -jar redis-schema-checker-1.0.0.jar \
#### Step 1:加载配置
-读取 `redis-schema-check-config.yaml`,合并默认值(见 `docs/配置说明.md`)。
+读取 `cache-schema-check-config.yaml`,合并默认值(见 `docs/配置说明.md`)。
#### Step 2:Git Diff 扫描
@@ -416,15 +416,15 @@ manual_mappings:
| 层级 | 位置 | 职责 |
|------|------|------|
| 默认配置 | 工具 jar 内 `default-config.yaml` | 检测模式、忽略规则、严重级别默认值 |
-| 业务覆盖 | `jnpf-java-cloud/.gitea/config/redis-schema-check-config.yaml` | mode、notify、include_modules、manual_mappings |
+| 业务覆盖 | `jnpf-java-cloud/.gitea/config/cache-schema-check-config.yaml` | mode、notify、include_modules、manual_mappings |
合并规则:**业务配置覆盖默认配置**,未声明的项沿用默认值。
CLI 调用:
```bash
-java -jar redis-schema-checker.jar \
- --config .gitea/config/redis-schema-check-config.yaml \
+java -jar cache-schema-checker.jar \
+ --config .gitea/config/cache-schema-check-config.yaml \
...
```
@@ -452,12 +452,12 @@ notify:
详见 `docs/CI集成说明.md`。核心流程:
```yaml
-# jnpf-java-cloud/.gitea/workflows/redis-schema-check.yaml
-name: Redis序列化结构检查
+# jnpf-java-cloud/.gitea/workflows/cache-schema-check.yaml
+name: 缓存序列化结构检查
on: [push]
jobs:
- redis-schema-check:
+ cache-schema-check:
if: ${{ gitea.ref != 'refs/heads/pre' && gitea.ref != 'refs/heads/dev' && gitea.ref != 'refs/heads/master-2.0' }}
runs-on: jdk11
steps:
@@ -469,7 +469,7 @@ jobs:
- name: 下载检测工具
run: |
- # 从 Nexus 下载 redis-schema-checker jar
+ # 从 Nexus 下载 cache-schema-checker jar
...
- name: 执行检测
@@ -478,8 +478,8 @@ jobs:
run: |
OLD_SHA=$(git rev-parse HEAD~1 2>/dev/null || echo "")
[ -z "$OLD_SHA" ] && exit 0
- java -jar /tmp/redis-schema-checker-1.0.0.jar \
- --config .gitea/config/redis-schema-check-config.yaml \
+ java -jar /tmp/cache-schema-checker-1.0.0.jar \
+ --config .gitea/config/cache-schema-check-config.yaml \
--repo-root . \
--old-sha "$OLD_SHA" \
--new-sha "$(git rev-parse HEAD)" \
@@ -578,7 +578,7 @@ jobs:
| # | 决策项 | 结论 |
|---|--------|------|
| 1 | 阻断范围 | `block` 模式下 **P0/P1/P2 全部阻断**(exit 1) |
-| 2 | 发布坐标 | 独立产物 `com.codechecker:redis-schema-checker:1.0.0` |
+| 2 | 发布坐标 | 独立产物 `com.codechecker:cache-schema-checker:1.0.0` |
| 3 | 配置归属 | **双层配置**:jar 内 `default-config.yaml` + 业务仓覆盖合并 |
| 4 | 上线策略 | 先 `notify` 观察 **1 周**,稳定后手动切 `block` |
| 5 | 检测范围 | **仅 `src/main/java`**,不扫描测试代码 |
diff --git a/docs/配置说明.md b/docs/配置说明.md
index 40d1575..aaae850 100644
--- a/docs/配置说明.md
+++ b/docs/配置说明.md
@@ -1,6 +1,6 @@
-# Redis 序列化结构检测 — 配置说明
+# 缓存序列化结构检测 — 配置说明
-> **双层配置**:工具 jar 内置 `default-config.yaml`(默认) + 业务仓库 `.gitea/config/redis-schema-check-config.yaml`(覆盖)
+> **双层配置**:工具 jar 内置 `default-config.yaml`(默认) + 业务仓库 `.gitea/config/cache-schema-check-config.yaml`(覆盖)
---
@@ -9,7 +9,7 @@
```text
jar 内 default-config.yaml(工具仓维护)
↓ 深度合并
-业务仓 redis-schema-check-config.yaml(业务仓维护)
+业务仓 cache-schema-check-config.yaml(业务仓维护)
↓
最终生效配置
```
@@ -21,7 +21,7 @@ jar 内 default-config.yaml(工具仓维护)
### 1.1 业务仓最小配置示例
```yaml
-# jnpf-java-cloud/.gitea/config/redis-schema-check-config.yaml
+# jnpf-java-cloud/.gitea/config/cache-schema-check-config.yaml
mode: notify
notify:
@@ -68,7 +68,7 @@ notify:
# 无变更时是否也发通知(一般 false)
notify_on_clean: false
# 消息标题前缀
- title_prefix: "[Redis结构变更]"
+ title_prefix: "[缓存结构变更]"
# 忽略规则
ignore:
@@ -173,7 +173,7 @@ mode: block
| `enabled` | boolean | true | 是否发企微 |
| `webhook_env` | string | WECOM_ROBOT_WEBHOOK | 环境变量名 |
| `notify_on_clean` | boolean | false | 无变更时是否通知 |
-| `title_prefix` | string | [Redis结构变更] | 消息标题前缀 |
+| `title_prefix` | string | [缓存结构变更] | 消息标题前缀 |
### 3.4 ignore.key_patterns
@@ -238,7 +238,7 @@ suppressions:
## 5. 企微消息格式示例
```markdown
-## [Redis结构变更] jnpf-java-cloud
+## [缓存结构变更] jnpf-java-cloud
> 分支: feature/tenant-cache
> 提交: a1b2c3d → e4f5g6h
diff --git a/pom.xml b/pom.xml
index 0e76fa3..49c417e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,12 +5,12 @@
4.0.0
com.codechecker
- redis-schema-checker
+ cache-schema-checker
1.0.0
jar
- redis-schema-checker
- 基于 JavaParser 的 Redis value 序列化结构变更检测器
+ cache-schema-checker
+ 基于 JavaParser 的缓存 value 序列化结构变更检测器
11
@@ -74,7 +74,7 @@
- redis-schema-checker-${project.version}
+ cache-schema-checker-${project.version}
org.apache.maven.plugins
@@ -101,7 +101,7 @@
- com.codechecker.redis.cli.RedisSchemaCheckerMain
+ com.codechecker.cache.cli.CacheSchemaCheckerMain
diff --git a/src/main/java/com/codechecker/redis/analyze/FileScanner.java b/src/main/java/com/codechecker/cache/analyze/FileScanner.java
similarity index 98%
rename from src/main/java/com/codechecker/redis/analyze/FileScanner.java
rename to src/main/java/com/codechecker/cache/analyze/FileScanner.java
index d599a55..ccc4a47 100644
--- a/src/main/java/com/codechecker/redis/analyze/FileScanner.java
+++ b/src/main/java/com/codechecker/cache/analyze/FileScanner.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.analyze;
+package com.codechecker.cache.analyze;
import java.io.IOException;
import java.io.UncheckedIOException;
diff --git a/src/main/java/com/codechecker/redis/analyze/GlobMatcher.java b/src/main/java/com/codechecker/cache/analyze/GlobMatcher.java
similarity index 96%
rename from src/main/java/com/codechecker/redis/analyze/GlobMatcher.java
rename to src/main/java/com/codechecker/cache/analyze/GlobMatcher.java
index c81f6a5..4001e47 100644
--- a/src/main/java/com/codechecker/redis/analyze/GlobMatcher.java
+++ b/src/main/java/com/codechecker/cache/analyze/GlobMatcher.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.analyze;
+package com.codechecker.cache.analyze;
import java.util.regex.Pattern;
diff --git a/src/main/java/com/codechecker/redis/analyze/SchemaCheckAnalyzer.java b/src/main/java/com/codechecker/cache/analyze/SchemaCheckAnalyzer.java
similarity index 94%
rename from src/main/java/com/codechecker/redis/analyze/SchemaCheckAnalyzer.java
rename to src/main/java/com/codechecker/cache/analyze/SchemaCheckAnalyzer.java
index 63a06e8..287b86f 100644
--- a/src/main/java/com/codechecker/redis/analyze/SchemaCheckAnalyzer.java
+++ b/src/main/java/com/codechecker/cache/analyze/SchemaCheckAnalyzer.java
@@ -1,20 +1,20 @@
-package com.codechecker.redis.analyze;
+package com.codechecker.cache.analyze;
-import com.codechecker.redis.config.CheckerConfig;
-import com.codechecker.redis.detector.RedisWritePointDetector;
-import com.codechecker.redis.detector.WritePoint;
-import com.codechecker.redis.diff.ChangeType;
-import com.codechecker.redis.diff.SchemaChange;
-import com.codechecker.redis.diff.SchemaDiffer;
-import com.codechecker.redis.diff.Severity;
-import com.codechecker.redis.git.GitDiffScanner;
-import com.codechecker.redis.git.GitException;
-import com.codechecker.redis.report.CheckReport;
-import com.codechecker.redis.report.KeyStructureChange;
-import com.codechecker.redis.schema.JavaSchemaExtractor;
-import com.codechecker.redis.schema.SkeletonJsonRenderer;
-import com.codechecker.redis.schema.SourceIndex;
-import com.codechecker.redis.schema.TypeSchema;
+import com.codechecker.cache.config.CheckerConfig;
+import com.codechecker.cache.detector.RedisWritePointDetector;
+import com.codechecker.cache.detector.WritePoint;
+import com.codechecker.cache.diff.ChangeType;
+import com.codechecker.cache.diff.SchemaChange;
+import com.codechecker.cache.diff.SchemaDiffer;
+import com.codechecker.cache.diff.Severity;
+import com.codechecker.cache.git.GitDiffScanner;
+import com.codechecker.cache.git.GitException;
+import com.codechecker.cache.report.CheckReport;
+import com.codechecker.cache.report.KeyStructureChange;
+import com.codechecker.cache.schema.JavaSchemaExtractor;
+import com.codechecker.cache.schema.SkeletonJsonRenderer;
+import com.codechecker.cache.schema.SourceIndex;
+import com.codechecker.cache.schema.TypeSchema;
import com.github.javaparser.StaticJavaParser;
import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.ast.body.TypeDeclaration;
@@ -144,7 +144,7 @@ public class SchemaCheckAnalyzer {
SchemaChange c = new SchemaChange(ChangeType.WRITE_POINT_ADDED);
c.setKeyPattern(nw.getResolvedKeyPattern());
c.setWriteLocation(nw.location());
- c.setMessage("新增 Redis 写入点,value 类型: " + shortType(nw.getResolvedValueType()));
+ c.setMessage("新增缓存写入点,value 类型: " + shortType(nw.getResolvedValueType()));
allChanges.add(c);
TypeSchema newSchema = extractorNew.extract(nw.getResolvedValueType(), nw.isRootArray());
mergeKeyChange(keyChanges, nw.getResolvedKeyPattern(),
@@ -163,7 +163,7 @@ public class SchemaCheckAnalyzer {
SchemaChange c = new SchemaChange(ChangeType.WRITE_POINT_REMOVED);
c.setKeyPattern(ow.getResolvedKeyPattern());
c.setWriteLocation(ow.location());
- c.setMessage("删除 Redis 写入点,原 value 类型: " + shortType(ow.getResolvedValueType()));
+ c.setMessage("删除缓存写入点,原 value 类型: " + shortType(ow.getResolvedValueType()));
allChanges.add(c);
TypeSchema oldSchema = extractorOld.extract(ow.getResolvedValueType(), ow.isRootArray());
mergeKeyChange(keyChanges, ow.getResolvedKeyPattern(),
diff --git a/src/main/java/com/codechecker/redis/cli/RedisSchemaCheckerMain.java b/src/main/java/com/codechecker/cache/cli/CacheSchemaCheckerMain.java
similarity index 76%
rename from src/main/java/com/codechecker/redis/cli/RedisSchemaCheckerMain.java
rename to src/main/java/com/codechecker/cache/cli/CacheSchemaCheckerMain.java
index 8f1badd..ca36351 100644
--- a/src/main/java/com/codechecker/redis/cli/RedisSchemaCheckerMain.java
+++ b/src/main/java/com/codechecker/cache/cli/CacheSchemaCheckerMain.java
@@ -1,27 +1,26 @@
-package com.codechecker.redis.cli;
+package com.codechecker.cache.cli;
-import com.codechecker.redis.analyze.SchemaCheckAnalyzer;
-import com.codechecker.redis.config.CheckerConfig;
-import com.codechecker.redis.config.ConfigLoader;
-import com.codechecker.redis.notify.WeComNotifier;
-import com.codechecker.redis.report.CheckReport;
-import com.codechecker.redis.report.ReportBuilder;
+import com.codechecker.cache.analyze.SchemaCheckAnalyzer;
+import com.codechecker.cache.config.CheckerConfig;
+import com.codechecker.cache.config.ConfigLoader;
+import com.codechecker.cache.notify.WeComNotifier;
+import com.codechecker.cache.report.CheckReport;
+import com.codechecker.cache.report.ReportBuilder;
import picocli.CommandLine;
import picocli.CommandLine.Command;
import picocli.CommandLine.Option;
import java.nio.file.Path;
-import java.nio.file.Paths;
import java.util.concurrent.Callable;
/**
* 命令行入口。退出码:0 通过 / 1 阻断 / 2 执行错误。
*/
-@Command(name = "redis-schema-checker",
+@Command(name = "cache-schema-checker",
mixinStandardHelpOptions = true,
- version = "redis-schema-checker 1.0.0",
- description = "检测两次提交间 Redis value 序列化结构变更并通过企微机器人通知。")
-public class RedisSchemaCheckerMain implements Callable {
+ version = "cache-schema-checker 1.0.0",
+ description = "检测两次提交间缓存 value 序列化结构变更并通过企微机器人通知。")
+public class CacheSchemaCheckerMain implements Callable {
@Option(names = "--config", required = true, description = "业务仓库检测配置文件路径")
private Path configPath;
@@ -56,12 +55,12 @@ public class RedisSchemaCheckerMain implements Callable {
CheckerConfig config = ConfigLoader.load(configPath);
if (!config.isEnabled()) {
- System.out.println("[redis-schema-checker] 总开关 enabled=false,跳过检测。");
+ System.out.println("[cache-schema-checker] 总开关 enabled=false,跳过检测。");
return 0;
}
if (oldSha == null || oldSha.trim().isEmpty()) {
- System.out.println("[redis-schema-checker] 无对比基准提交,跳过检测。");
+ System.out.println("[cache-schema-checker] 无对比基准提交,跳过检测。");
return 0;
}
@@ -84,22 +83,22 @@ public class RedisSchemaCheckerMain implements Callable {
String webhook = config.getNotify().getWebhookUrl();
String markdown = builder.toMarkdown(report);
boolean ok = new WeComNotifier().sendMarkdown(webhook, markdown);
- System.out.println("[redis-schema-checker] 企微通知发送: " + (ok ? "成功" : "失败/跳过"));
+ System.out.println("[cache-schema-checker] 企微通知发送: " + (ok ? "成功" : "失败/跳过"));
}
if (report.isBlocked()) {
- System.out.println("[redis-schema-checker] block 模式命中,流水线将被阻断(exit 1)。");
+ System.out.println("[cache-schema-checker] block 模式命中,流水线将被阻断(exit 1)。");
}
return report.getExitCode();
} catch (Exception e) {
- System.err.println("[redis-schema-checker] 执行错误: " + e.getMessage());
+ System.err.println("[cache-schema-checker] 执行错误: " + e.getMessage());
e.printStackTrace();
return 2;
}
}
public static void main(String[] args) {
- int exitCode = new CommandLine(new RedisSchemaCheckerMain()).execute(args);
+ int exitCode = new CommandLine(new CacheSchemaCheckerMain()).execute(args);
System.exit(exitCode);
}
}
diff --git a/src/main/java/com/codechecker/redis/config/CheckerConfig.java b/src/main/java/com/codechecker/cache/config/CheckerConfig.java
similarity index 98%
rename from src/main/java/com/codechecker/redis/config/CheckerConfig.java
rename to src/main/java/com/codechecker/cache/config/CheckerConfig.java
index 7d4a130..f0c32ac 100644
--- a/src/main/java/com/codechecker/redis/config/CheckerConfig.java
+++ b/src/main/java/com/codechecker/cache/config/CheckerConfig.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.config;
+package com.codechecker.cache.config;
import java.util.ArrayList;
import java.util.LinkedHashMap;
@@ -41,7 +41,7 @@ public class CheckerConfig {
/** 企微机器人 Webhook 完整 URL */
private String webhookUrl = "";
private boolean notifyOnClean = false;
- private String titlePrefix = "[Redis结构变更]";
+ private String titlePrefix = "[缓存结构变更]";
public boolean isEnabled() {
return enabled;
diff --git a/src/main/java/com/codechecker/redis/config/ConfigLoader.java b/src/main/java/com/codechecker/cache/config/ConfigLoader.java
similarity index 98%
rename from src/main/java/com/codechecker/redis/config/ConfigLoader.java
rename to src/main/java/com/codechecker/cache/config/ConfigLoader.java
index 733d91b..b275b20 100644
--- a/src/main/java/com/codechecker/redis/config/ConfigLoader.java
+++ b/src/main/java/com/codechecker/cache/config/ConfigLoader.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.config;
+package com.codechecker.cache.config;
import org.yaml.snakeyaml.Yaml;
@@ -87,7 +87,7 @@ public final class ConfigLoader {
n.setEnabled(bool(notify, "enabled", true));
n.setWebhookUrl(resolveWebhookUrl(notify));
n.setNotifyOnClean(bool(notify, "notify_on_clean", false));
- n.setTitlePrefix(str(notify, "title_prefix", "[Redis结构变更]"));
+ n.setTitlePrefix(str(notify, "title_prefix", "[缓存结构变更]"));
Map ignore = asMap(map.get("ignore"));
CheckerConfig.Ignore ig = config.getIgnore();
diff --git a/src/main/java/com/codechecker/redis/detector/RedisWritePointDetector.java b/src/main/java/com/codechecker/cache/detector/RedisWritePointDetector.java
similarity index 98%
rename from src/main/java/com/codechecker/redis/detector/RedisWritePointDetector.java
rename to src/main/java/com/codechecker/cache/detector/RedisWritePointDetector.java
index 2063f3a..8c7e7b4 100644
--- a/src/main/java/com/codechecker/redis/detector/RedisWritePointDetector.java
+++ b/src/main/java/com/codechecker/cache/detector/RedisWritePointDetector.java
@@ -1,7 +1,7 @@
-package com.codechecker.redis.detector;
+package com.codechecker.cache.detector;
-import com.codechecker.redis.key.RedisKeyResolver;
-import com.codechecker.redis.schema.SourceIndex;
+import com.codechecker.cache.key.RedisKeyResolver;
+import com.codechecker.cache.schema.SourceIndex;
import com.github.javaparser.StaticJavaParser;
import com.github.javaparser.ast.CompilationUnit;
import com.github.javaparser.ast.body.CallableDeclaration;
diff --git a/src/main/java/com/codechecker/redis/detector/WritePoint.java b/src/main/java/com/codechecker/cache/detector/WritePoint.java
similarity index 98%
rename from src/main/java/com/codechecker/redis/detector/WritePoint.java
rename to src/main/java/com/codechecker/cache/detector/WritePoint.java
index bbe8524..292aef2 100644
--- a/src/main/java/com/codechecker/redis/detector/WritePoint.java
+++ b/src/main/java/com/codechecker/cache/detector/WritePoint.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.detector;
+package com.codechecker.cache.detector;
/**
* 一个 Redis value 写入点的静态描述。
diff --git a/src/main/java/com/codechecker/redis/diff/ChangeType.java b/src/main/java/com/codechecker/cache/diff/ChangeType.java
similarity index 96%
rename from src/main/java/com/codechecker/redis/diff/ChangeType.java
rename to src/main/java/com/codechecker/cache/diff/ChangeType.java
index 878acef..e8c6392 100644
--- a/src/main/java/com/codechecker/redis/diff/ChangeType.java
+++ b/src/main/java/com/codechecker/cache/diff/ChangeType.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.diff;
+package com.codechecker.cache.diff;
/**
* 结构变更类型及其默认严重级别。
diff --git a/src/main/java/com/codechecker/redis/diff/SchemaChange.java b/src/main/java/com/codechecker/cache/diff/SchemaChange.java
similarity index 98%
rename from src/main/java/com/codechecker/redis/diff/SchemaChange.java
rename to src/main/java/com/codechecker/cache/diff/SchemaChange.java
index ba2c6a8..f1540fe 100644
--- a/src/main/java/com/codechecker/redis/diff/SchemaChange.java
+++ b/src/main/java/com/codechecker/cache/diff/SchemaChange.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.diff;
+package com.codechecker.cache.diff;
/**
* 一条结构变更记录。
diff --git a/src/main/java/com/codechecker/redis/diff/SchemaDiffer.java b/src/main/java/com/codechecker/cache/diff/SchemaDiffer.java
similarity index 96%
rename from src/main/java/com/codechecker/redis/diff/SchemaDiffer.java
rename to src/main/java/com/codechecker/cache/diff/SchemaDiffer.java
index d2b7363..7ef88a1 100644
--- a/src/main/java/com/codechecker/redis/diff/SchemaDiffer.java
+++ b/src/main/java/com/codechecker/cache/diff/SchemaDiffer.java
@@ -1,8 +1,8 @@
-package com.codechecker.redis.diff;
+package com.codechecker.cache.diff;
-import com.codechecker.redis.schema.FieldSchema;
-import com.codechecker.redis.schema.JsonType;
-import com.codechecker.redis.schema.TypeSchema;
+import com.codechecker.cache.schema.FieldSchema;
+import com.codechecker.cache.schema.JsonType;
+import com.codechecker.cache.schema.TypeSchema;
import java.util.ArrayList;
import java.util.LinkedHashMap;
diff --git a/src/main/java/com/codechecker/redis/diff/Severity.java b/src/main/java/com/codechecker/cache/diff/Severity.java
similarity index 69%
rename from src/main/java/com/codechecker/redis/diff/Severity.java
rename to src/main/java/com/codechecker/cache/diff/Severity.java
index d1751d2..84e32b3 100644
--- a/src/main/java/com/codechecker/redis/diff/Severity.java
+++ b/src/main/java/com/codechecker/cache/diff/Severity.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.diff;
+package com.codechecker.cache.diff;
/**
* 变更严重级别。
diff --git a/src/main/java/com/codechecker/redis/git/GitDiffScanner.java b/src/main/java/com/codechecker/cache/git/GitDiffScanner.java
similarity index 99%
rename from src/main/java/com/codechecker/redis/git/GitDiffScanner.java
rename to src/main/java/com/codechecker/cache/git/GitDiffScanner.java
index 336524e..19672db 100644
--- a/src/main/java/com/codechecker/redis/git/GitDiffScanner.java
+++ b/src/main/java/com/codechecker/cache/git/GitDiffScanner.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.git;
+package com.codechecker.cache.git;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
diff --git a/src/main/java/com/codechecker/redis/git/GitException.java b/src/main/java/com/codechecker/cache/git/GitException.java
similarity index 87%
rename from src/main/java/com/codechecker/redis/git/GitException.java
rename to src/main/java/com/codechecker/cache/git/GitException.java
index 6a485c9..a0540e4 100644
--- a/src/main/java/com/codechecker/redis/git/GitException.java
+++ b/src/main/java/com/codechecker/cache/git/GitException.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.git;
+package com.codechecker.cache.git;
/**
* Git 操作异常。
diff --git a/src/main/java/com/codechecker/redis/key/RedisKeyResolver.java b/src/main/java/com/codechecker/cache/key/RedisKeyResolver.java
similarity index 98%
rename from src/main/java/com/codechecker/redis/key/RedisKeyResolver.java
rename to src/main/java/com/codechecker/cache/key/RedisKeyResolver.java
index 64b2c9d..e69dd31 100644
--- a/src/main/java/com/codechecker/redis/key/RedisKeyResolver.java
+++ b/src/main/java/com/codechecker/cache/key/RedisKeyResolver.java
@@ -1,6 +1,6 @@
-package com.codechecker.redis.key;
+package com.codechecker.cache.key;
-import com.codechecker.redis.schema.SourceIndex;
+import com.codechecker.cache.schema.SourceIndex;
import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
import com.github.javaparser.ast.body.FieldDeclaration;
import com.github.javaparser.ast.body.MethodDeclaration;
diff --git a/src/main/java/com/codechecker/redis/notify/WeComNotifier.java b/src/main/java/com/codechecker/cache/notify/WeComNotifier.java
similarity index 98%
rename from src/main/java/com/codechecker/redis/notify/WeComNotifier.java
rename to src/main/java/com/codechecker/cache/notify/WeComNotifier.java
index 507cd47..2c6a359 100644
--- a/src/main/java/com/codechecker/redis/notify/WeComNotifier.java
+++ b/src/main/java/com/codechecker/cache/notify/WeComNotifier.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.notify;
+package com.codechecker.cache.notify;
import com.fasterxml.jackson.databind.ObjectMapper;
diff --git a/src/main/java/com/codechecker/redis/report/CheckReport.java b/src/main/java/com/codechecker/cache/report/CheckReport.java
similarity index 94%
rename from src/main/java/com/codechecker/redis/report/CheckReport.java
rename to src/main/java/com/codechecker/cache/report/CheckReport.java
index 7593a65..f3b9ea1 100644
--- a/src/main/java/com/codechecker/redis/report/CheckReport.java
+++ b/src/main/java/com/codechecker/cache/report/CheckReport.java
@@ -1,7 +1,7 @@
-package com.codechecker.redis.report;
+package com.codechecker.cache.report;
-import com.codechecker.redis.diff.SchemaChange;
-import com.codechecker.redis.diff.Severity;
+import com.codechecker.cache.diff.SchemaChange;
+import com.codechecker.cache.diff.Severity;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/com/codechecker/redis/report/KeyStructureChange.java b/src/main/java/com/codechecker/cache/report/KeyStructureChange.java
similarity index 92%
rename from src/main/java/com/codechecker/redis/report/KeyStructureChange.java
rename to src/main/java/com/codechecker/cache/report/KeyStructureChange.java
index ff285c9..3301a05 100644
--- a/src/main/java/com/codechecker/redis/report/KeyStructureChange.java
+++ b/src/main/java/com/codechecker/cache/report/KeyStructureChange.java
@@ -1,7 +1,7 @@
-package com.codechecker.redis.report;
+package com.codechecker.cache.report;
-import com.codechecker.redis.diff.SchemaChange;
-import com.codechecker.redis.diff.Severity;
+import com.codechecker.cache.diff.SchemaChange;
+import com.codechecker.cache.diff.Severity;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/com/codechecker/redis/report/ReportBuilder.java b/src/main/java/com/codechecker/cache/report/ReportBuilder.java
similarity index 92%
rename from src/main/java/com/codechecker/redis/report/ReportBuilder.java
rename to src/main/java/com/codechecker/cache/report/ReportBuilder.java
index 4b026bb..d0e12d4 100644
--- a/src/main/java/com/codechecker/redis/report/ReportBuilder.java
+++ b/src/main/java/com/codechecker/cache/report/ReportBuilder.java
@@ -1,7 +1,7 @@
-package com.codechecker.redis.report;
+package com.codechecker.cache.report;
-import com.codechecker.redis.diff.SchemaChange;
-import com.codechecker.redis.diff.Severity;
+import com.codechecker.cache.diff.SchemaChange;
+import com.codechecker.cache.diff.Severity;
import java.util.ArrayList;
import java.util.EnumMap;
@@ -20,7 +20,7 @@ public class ReportBuilder {
private final String titlePrefix;
public ReportBuilder(String titlePrefix) {
- this.titlePrefix = titlePrefix == null ? "[Redis结构变更]" : titlePrefix;
+ this.titlePrefix = titlePrefix == null ? "[缓存结构变更]" : titlePrefix;
}
public String toMarkdown(CheckReport report) {
@@ -37,7 +37,7 @@ public class ReportBuilder {
if (keys == null || keys.isEmpty()) {
// 兼容仅有字段明细时退化展示
if (report.getChanges().isEmpty()) {
- sb.append("未检测到 Redis 序列化结构变更。\n");
+ sb.append("未检测到缓存序列化结构变更。\n");
} else {
for (SchemaChange c : report.getChanges()) {
sb.append("- `").append(nvl(c.getKeyPattern())).append("`\n");
@@ -71,7 +71,7 @@ public class ReportBuilder {
public String toConsole(CheckReport report) {
StringBuilder sb = new StringBuilder();
if (!report.hasChanges()) {
- sb.append("未检测到 Redis 序列化结构变更。\n");
+ sb.append("未检测到缓存序列化结构变更。\n");
return sb.toString();
}
@@ -125,8 +125,8 @@ public class ReportBuilder {
+ trimmed.substring(colonEn + 1).trim();
}
String[] knownPrefixes = {
- "删除字段 ", "新增字段 ", "字段路径迁移 ", "新增包装层 ", "新增 Redis 写入点,",
- "删除 Redis 写入点,原 value 类型: "
+ "删除字段 ", "新增字段 ", "字段路径迁移 ", "新增包装层 ", "新增缓存写入点,",
+ "删除缓存写入点,原 value 类型: "
};
for (String prefix : knownPrefixes) {
if (trimmed.startsWith(prefix)) {
diff --git a/src/main/java/com/codechecker/redis/schema/AnnotationSupport.java b/src/main/java/com/codechecker/cache/schema/AnnotationSupport.java
similarity index 98%
rename from src/main/java/com/codechecker/redis/schema/AnnotationSupport.java
rename to src/main/java/com/codechecker/cache/schema/AnnotationSupport.java
index 8d0cff8..d76cb8a 100644
--- a/src/main/java/com/codechecker/redis/schema/AnnotationSupport.java
+++ b/src/main/java/com/codechecker/cache/schema/AnnotationSupport.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.schema;
+package com.codechecker.cache.schema;
import com.github.javaparser.ast.body.FieldDeclaration;
import com.github.javaparser.ast.expr.AnnotationExpr;
diff --git a/src/main/java/com/codechecker/redis/schema/FieldSchema.java b/src/main/java/com/codechecker/cache/schema/FieldSchema.java
similarity index 97%
rename from src/main/java/com/codechecker/redis/schema/FieldSchema.java
rename to src/main/java/com/codechecker/cache/schema/FieldSchema.java
index 4e32c2b..3893ab1 100644
--- a/src/main/java/com/codechecker/redis/schema/FieldSchema.java
+++ b/src/main/java/com/codechecker/cache/schema/FieldSchema.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.schema;
+package com.codechecker.cache.schema;
import java.util.Objects;
diff --git a/src/main/java/com/codechecker/redis/schema/JavaSchemaExtractor.java b/src/main/java/com/codechecker/cache/schema/JavaSchemaExtractor.java
similarity index 99%
rename from src/main/java/com/codechecker/redis/schema/JavaSchemaExtractor.java
rename to src/main/java/com/codechecker/cache/schema/JavaSchemaExtractor.java
index 249e26e..1486f70 100644
--- a/src/main/java/com/codechecker/redis/schema/JavaSchemaExtractor.java
+++ b/src/main/java/com/codechecker/cache/schema/JavaSchemaExtractor.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.schema;
+package com.codechecker.cache.schema;
import com.github.javaparser.ast.body.ClassOrInterfaceDeclaration;
import com.github.javaparser.ast.body.FieldDeclaration;
diff --git a/src/main/java/com/codechecker/redis/schema/JsonType.java b/src/main/java/com/codechecker/cache/schema/JsonType.java
similarity index 80%
rename from src/main/java/com/codechecker/redis/schema/JsonType.java
rename to src/main/java/com/codechecker/cache/schema/JsonType.java
index a96c3ef..ac821b5 100644
--- a/src/main/java/com/codechecker/redis/schema/JsonType.java
+++ b/src/main/java/com/codechecker/cache/schema/JsonType.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.schema;
+package com.codechecker.cache.schema;
/**
* 序列化后 JSON 值的粗粒度类型。
diff --git a/src/main/java/com/codechecker/redis/schema/SkeletonJsonRenderer.java b/src/main/java/com/codechecker/cache/schema/SkeletonJsonRenderer.java
similarity index 99%
rename from src/main/java/com/codechecker/redis/schema/SkeletonJsonRenderer.java
rename to src/main/java/com/codechecker/cache/schema/SkeletonJsonRenderer.java
index 9f78dd4..4d57c04 100644
--- a/src/main/java/com/codechecker/redis/schema/SkeletonJsonRenderer.java
+++ b/src/main/java/com/codechecker/cache/schema/SkeletonJsonRenderer.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.schema;
+package com.codechecker.cache.schema;
import java.util.ArrayList;
import java.util.LinkedHashMap;
diff --git a/src/main/java/com/codechecker/redis/schema/SourceIndex.java b/src/main/java/com/codechecker/cache/schema/SourceIndex.java
similarity index 99%
rename from src/main/java/com/codechecker/redis/schema/SourceIndex.java
rename to src/main/java/com/codechecker/cache/schema/SourceIndex.java
index 01035ee..5271b88 100644
--- a/src/main/java/com/codechecker/redis/schema/SourceIndex.java
+++ b/src/main/java/com/codechecker/cache/schema/SourceIndex.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.schema;
+package com.codechecker.cache.schema;
import com.github.javaparser.ParserConfiguration;
import com.github.javaparser.StaticJavaParser;
diff --git a/src/main/java/com/codechecker/redis/schema/TypeSchema.java b/src/main/java/com/codechecker/cache/schema/TypeSchema.java
similarity index 95%
rename from src/main/java/com/codechecker/redis/schema/TypeSchema.java
rename to src/main/java/com/codechecker/cache/schema/TypeSchema.java
index 12ff62a..dddd508 100644
--- a/src/main/java/com/codechecker/redis/schema/TypeSchema.java
+++ b/src/main/java/com/codechecker/cache/schema/TypeSchema.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.schema;
+package com.codechecker.cache.schema;
import java.util.LinkedHashMap;
import java.util.Map;
diff --git a/src/main/resources/default-config.yaml b/src/main/resources/default-config.yaml
index bd511bb..57113e3 100644
--- a/src/main/resources/default-config.yaml
+++ b/src/main/resources/default-config.yaml
@@ -1,4 +1,4 @@
-# redis-schema-checker 内置默认配置
+# cache-schema-checker 内置默认配置
# 业务仓库通过 --config 指定的配置会与本文件深度合并(业务配置优先)。
# 总开关:false 时不执行检测、不发通知、流水线直接通过
@@ -19,7 +19,7 @@ notify:
enabled: true
webhook_url: ""
notify_on_clean: false
- title_prefix: "[Redis结构变更]"
+ title_prefix: "[缓存结构变更]"
# 忽略规则
ignore:
diff --git a/src/test/java/com/codechecker/redis/TenantScenarioTest.java b/src/test/java/com/codechecker/cache/TenantScenarioTest.java
similarity index 88%
rename from src/test/java/com/codechecker/redis/TenantScenarioTest.java
rename to src/test/java/com/codechecker/cache/TenantScenarioTest.java
index 87ee888..51b263a 100644
--- a/src/test/java/com/codechecker/redis/TenantScenarioTest.java
+++ b/src/test/java/com/codechecker/cache/TenantScenarioTest.java
@@ -1,13 +1,13 @@
-package com.codechecker.redis;
+package com.codechecker.cache;
-import com.codechecker.redis.detector.RedisWritePointDetector;
-import com.codechecker.redis.detector.WritePoint;
-import com.codechecker.redis.diff.ChangeType;
-import com.codechecker.redis.diff.SchemaChange;
-import com.codechecker.redis.diff.SchemaDiffer;
-import com.codechecker.redis.schema.JavaSchemaExtractor;
-import com.codechecker.redis.schema.SourceIndex;
-import com.codechecker.redis.schema.TypeSchema;
+import com.codechecker.cache.detector.RedisWritePointDetector;
+import com.codechecker.cache.detector.WritePoint;
+import com.codechecker.cache.diff.ChangeType;
+import com.codechecker.cache.diff.SchemaChange;
+import com.codechecker.cache.diff.SchemaDiffer;
+import com.codechecker.cache.schema.JavaSchemaExtractor;
+import com.codechecker.cache.schema.SourceIndex;
+import com.codechecker.cache.schema.TypeSchema;
import org.junit.jupiter.api.Test;
import java.util.HashSet;
diff --git a/src/test/java/com/codechecker/redis/TestSupport.java b/src/test/java/com/codechecker/cache/TestSupport.java
similarity index 97%
rename from src/test/java/com/codechecker/redis/TestSupport.java
rename to src/test/java/com/codechecker/cache/TestSupport.java
index ff56ec9..cb00508 100644
--- a/src/test/java/com/codechecker/redis/TestSupport.java
+++ b/src/test/java/com/codechecker/cache/TestSupport.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis;
+package com.codechecker.cache;
import java.io.IOException;
import java.io.InputStream;
diff --git a/src/test/java/com/codechecker/redis/analyze/GlobMatcherTest.java b/src/test/java/com/codechecker/cache/analyze/GlobMatcherTest.java
similarity index 95%
rename from src/test/java/com/codechecker/redis/analyze/GlobMatcherTest.java
rename to src/test/java/com/codechecker/cache/analyze/GlobMatcherTest.java
index edb91af..556cecb 100644
--- a/src/test/java/com/codechecker/redis/analyze/GlobMatcherTest.java
+++ b/src/test/java/com/codechecker/cache/analyze/GlobMatcherTest.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.analyze;
+package com.codechecker.cache.analyze;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/codechecker/redis/config/ConfigLoaderTest.java b/src/test/java/com/codechecker/cache/config/ConfigLoaderTest.java
similarity index 98%
rename from src/test/java/com/codechecker/redis/config/ConfigLoaderTest.java
rename to src/test/java/com/codechecker/cache/config/ConfigLoaderTest.java
index 3076b2c..60c85ee 100644
--- a/src/test/java/com/codechecker/redis/config/ConfigLoaderTest.java
+++ b/src/test/java/com/codechecker/cache/config/ConfigLoaderTest.java
@@ -1,4 +1,4 @@
-package com.codechecker.redis.config;
+package com.codechecker.cache.config;
import org.junit.jupiter.api.Test;
diff --git a/src/test/java/com/codechecker/redis/diff/SchemaDifferTest.java b/src/test/java/com/codechecker/cache/diff/SchemaDifferTest.java
similarity index 93%
rename from src/test/java/com/codechecker/redis/diff/SchemaDifferTest.java
rename to src/test/java/com/codechecker/cache/diff/SchemaDifferTest.java
index a9fa2ff..e6112aa 100644
--- a/src/test/java/com/codechecker/redis/diff/SchemaDifferTest.java
+++ b/src/test/java/com/codechecker/cache/diff/SchemaDifferTest.java
@@ -1,8 +1,8 @@
-package com.codechecker.redis.diff;
+package com.codechecker.cache.diff;
-import com.codechecker.redis.schema.FieldSchema;
-import com.codechecker.redis.schema.JsonType;
-import com.codechecker.redis.schema.TypeSchema;
+import com.codechecker.cache.schema.FieldSchema;
+import com.codechecker.cache.schema.JsonType;
+import com.codechecker.cache.schema.TypeSchema;
import org.junit.jupiter.api.Test;
import java.util.List;
diff --git a/src/test/java/com/codechecker/redis/report/ReportBuilderTest.java b/src/test/java/com/codechecker/cache/report/ReportBuilderTest.java
similarity index 86%
rename from src/test/java/com/codechecker/redis/report/ReportBuilderTest.java
rename to src/test/java/com/codechecker/cache/report/ReportBuilderTest.java
index 9203946..0b9d492 100644
--- a/src/test/java/com/codechecker/redis/report/ReportBuilderTest.java
+++ b/src/test/java/com/codechecker/cache/report/ReportBuilderTest.java
@@ -1,8 +1,8 @@
-package com.codechecker.redis.report;
+package com.codechecker.cache.report;
-import com.codechecker.redis.diff.ChangeType;
-import com.codechecker.redis.diff.SchemaChange;
-import com.codechecker.redis.diff.Severity;
+import com.codechecker.cache.diff.ChangeType;
+import com.codechecker.cache.diff.SchemaChange;
+import com.codechecker.cache.diff.Severity;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -35,9 +35,9 @@ class ReportBuilderTest {
key.setSeverity(Severity.P0);
report.getKeyChanges().add(key);
- String md = new ReportBuilder("[Redis数据结构变更]").toMarkdown(report);
+ String md = new ReportBuilder("[缓存结构变更]").toMarkdown(report);
- assertTrue(md.startsWith("## [Redis数据结构变更] jnpf-java-cloud"));
+ assertTrue(md.startsWith("## [缓存结构变更] jnpf-java-cloud"));
assertTrue(md.contains("> **分支**: code/redis_change_detection_v1.0"));
assertTrue(md.contains("> **时间**: 2026-07-13 16:54:17"));
assertTrue(md.contains("`tenant:db:content:*`"));
@@ -69,7 +69,7 @@ class ReportBuilderTest {
key.setNewSkeletonJson("{}");
report.getKeyChanges().add(key);
- String console = new ReportBuilder("[Redis数据结构变更]").toConsole(report);
+ String console = new ReportBuilder("[缓存结构变更]").toConsole(report);
assertTrue(console.contains("======== 字段明细 ========"));
assertTrue(console.contains("**位置**: Foo#bar:1"));
assertTrue(console.contains("**删除字段**: x"));
diff --git a/src/test/java/com/codechecker/redis/schema/SkeletonJsonRendererTest.java b/src/test/java/com/codechecker/cache/schema/SkeletonJsonRendererTest.java
similarity index 91%
rename from src/test/java/com/codechecker/redis/schema/SkeletonJsonRendererTest.java
rename to src/test/java/com/codechecker/cache/schema/SkeletonJsonRendererTest.java
index 321b864..caf8d8b 100644
--- a/src/test/java/com/codechecker/redis/schema/SkeletonJsonRendererTest.java
+++ b/src/test/java/com/codechecker/cache/schema/SkeletonJsonRendererTest.java
@@ -1,10 +1,10 @@
-package com.codechecker.redis.schema;
+package com.codechecker.cache.schema;
-import com.codechecker.redis.TestSupport;
-import com.codechecker.redis.detector.RedisWritePointDetector;
-import com.codechecker.redis.detector.WritePoint;
-import com.codechecker.redis.diff.SchemaChange;
-import com.codechecker.redis.diff.SchemaDiffer;
+import com.codechecker.cache.TestSupport;
+import com.codechecker.cache.detector.RedisWritePointDetector;
+import com.codechecker.cache.detector.WritePoint;
+import com.codechecker.cache.diff.SchemaChange;
+import com.codechecker.cache.diff.SchemaDiffer;
import org.junit.jupiter.api.Test;
import java.util.HashSet;