缓存策略
Caching Strategy
三层缓存架构:仓库克隆缓存、embedding 数据库缓存、wiki 内容缓存
子问题
1.仓库克隆去重
2.embedding 向量持久化
3.wiki 内容 CRUD 缓存
4.缓存键设计与索引
5.缓存加载后的数据完整性验证(embedding 维度校验)
6.通过文件名反向解析实现缓存项目列表
各项目的解法1 solutions
Signals
横向对比
| 维度 | DeepWiki |
|---|---|
| 缓存层级 | 三层分离:仓库克隆 / embedding pkl / wiki JSON |
| 缓存键设计 | 四维文件名:repo_type_owner_repo_language |
| 持久化方式 | 文件系统:pkl 序列化 + JSON,零外部依赖 |
| 失效策略 | 手动删除 + embedding 维度验证自动重建 |
| CRUD 支持 | 完整 REST API:GET/POST/DELETE + 项目列表 |
| 并发安全 | 无锁设计,依赖文件系统原子性,适合单机 |
最佳实践
1.pkl 文件持久化 embedding 避免重复计算
2.wikicache JSON 按 repo_type/owner/repo/language 维度索引
3.缓存存在性检查避免重复处理
4.Pydantic 模型驱动缓存读写确保类型安全
5.浅克隆 --depth=1 减少仓库缓存体积
6.DELETE 操作加授权码保护防止误删