Commit Graph

13 Commits

Author SHA1 Message Date
root
037fdc4f9c feat(cache): getOrLoad 三防(空值穿透 + TTL 抖动雪崩 + 互斥锁击穿 + 超时降级) 2026-06-26 04:55:42 +08:00
root
d164b89067 feat(cache): 模板读写基础(set/get/delete/exists/expire + TTL 抖动 + 滑动续期) 2026-06-26 04:51:07 +08:00
root
9605dca962 feat(cache): 配置属性 redis-cache.*(TTL/抖动/滑动/击穿锁) 2026-06-26 04:43:28 +08:00
root
ecbdfd8907 feat(cache): 值编解码器(fastjson 序列化 + 空值标记) 2026-06-26 04:41:02 +08:00
root
ce370afa83 feat(cache): 缓存常量与 key 构造器(前缀 + 环境隔离 + 锁 key 派生) 2026-06-26 04:38:02 +08:00
root
40882ecfaa docs: 新增 Redis 缓存增强模板实现计划
11 个 TDD 任务:常量/KeyBuilder → Codec → Properties → 模板读写 →
getOrLoad 三防 → 自动装配 → 4 个集成测试(RoundTrip/穿透/expire-滑动/击穿并发)
→ README + 全量回归。含完整代码、精确命令与对照 spec 的自检。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 21:01:19 +08:00
root
ec2a8daf4b docs: 新增 Redis 缓存增强模板设计文档
在现有 starter 内补齐编程式缓存能力的设计 spec:RedisCacheEnhanceTemplate
提供 get/set/delete/exists/expire/getOrLoad;getOrLoad 内置穿透/雪崩/击穿三防,
支持显式 expire 与可选滑动过期;独立 com.njcn.middle.cache 包、配置前缀 redis-cache,
不改动 stream、不新增依赖。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 20:49:08 +08:00
root
b649d6151d chore: 清理 StreamTrimScheduler 过时 javadoc 与死代码
裁剪逻辑已改用 opsForStream().trim() 精确裁剪,但 javadoc 仍写着
XTRIM ... MAXLEN ~(近似裁剪),且 trimAll() 里残留注释掉的旧
connection.execute("XTRIM", ...) 死代码,二者均与现状矛盾。

- javadoc 改为精确裁剪,并注明 2.3.x 无近似重载故不用 ~
- 删除注释掉的旧 XTRIM 裸命令死代码
- 删除随之失效的 import(RedisCallback、StandardCharsets)

注:旧裸命令报错的真因是 ByteArrayOutput 无法解析 XTRIM 的整数
回复(CommandOutput.set(long) 抛 IllegalStateException),与 ~ 无关。
纯注释/import 清理,逻辑零改动,compile 通过。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 16:21:21 +08:00
root
373b488249 Merge remote-tracking branch 'origin/main' 2026-06-25 14:47:01 +08:00
hzj
fd9074de9b 移除~近似裁剪选项,替换成高级API调用 2026-06-25 13:59:45 +08:00
root
e3dc7aedf6 docs: add redis stream demo implementation plan 2026-06-25 11:05:07 +08:00
root
eb70ffabf2 docs: add redis stream demo design 2026-06-25 11:02:01 +08:00
root
74f68c9680 feat: Redis Stream Spring Boot starter 首次提交
封装 Redis Streams 收发,零业务依赖。含自动装配、发送模板、监听容器、
autoclaim 崩溃恢复+死信淘汰、stream 定时裁剪、gzip 编解码、环境隔离。

本次随提交的改进:
- per-handler 重试次数:getMaxRetryTimes() 覆写生效,全局 redis-stream.max-retry 兜底
- 死信回调传入反序列化后的业务消息(saveExceptionFromFields)
- pom 升级 maven-surefire-plugin 至 2.22.2,使 JUnit 5 测试真正执行
- 集成测试连接信息改为 -D 注入(默认 localhost:6379),凭据不入代码
- lombok 改为 optional,不污染下游依赖
- 新增 README 使用文档

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 20:55:12 +08:00