综合讨论 [闲聊] 这个SplitDB数据库写入逻辑有点问题,修复一下。

2026-09-05 13:35:24

让我差点给修崩了。

P0-1 主题/回复 extern 命名空间隔离(双模型 Qwen H1+H2 合并)

问题: 主题与回复使用两条独立自增 ID 序列(均从 1 起),ID 区间完全重叠。extern 正文此前共用裸 ID 的 APCu 缓存键(extern_{id})与 .txt 文件名(extern/{Y}/{Q}/{桶}/{id}.txt):

  • 启用 APCu 后读主题 5 会命中回复 5 的正文缓存(跨内容串读);
  • 当父帖桶 == R2 且同季度时,主题 R 与回复 R 写入同一文件路径,atomicRename 静默互相覆盖、delete 互相误删(规模化必现正文损坏)。

修复内容:

位置 改动
app/SplitDB/ExternStorage.php write/read/delete 增加 type 参数('topic'|'reply');APCu 键改为 extern_t{id} / extern_r{id}cacheKey()ShardRouter::typePrefix() 统一生成)
app/SplitDB/ShardRouter.…
我喜欢在我的自留地里瞎逛,FlintHub!
| 浏览 0 | 回复 0

全部回复 (0)

暂无回复

登录

×