Skip to content

GohardSGG/CacheMax

Repository files navigation

CacheMax - 高性能文件系统加速器

🚀 通过目录连接点技术将慢速存储的文件透明地加速到高速缓存,无需修改应用程序即可享受性能提升。

✨ 主要特性

  • 无需管理员权限 - 使用目录连接点(Junction)技术,普通用户即可使用
  • 跨驱动器支持 - 支持从机械硬盘加速到SSD,完全透明
  • 高性能复制 - 集成FastCopy,4k随机小文件传输速度可达1500+ MB/s
  • 实时同步 - 自动监控文件变化,保持缓存与原始位置同步
  • 智能管理 - 可视化队列管理,支持批量操作和优先级控制
  • 系统托盘 - 最小化到系统托盘,不影响正常工作流程
  • 安全可靠 - 内置错误恢复机制,支持断点续传和完整性校验

📋 系统要求

  • 操作系统: Windows 10 1903+ / Windows 11
  • 运行环境: .NET 8.0
  • 推荐配置:
    • 4核+ CPU
    • 8GB+ RAM
    • SSD缓存空间
  • 依赖软件: FastCopy (必选,用于高性能文件复制)

🚀 快速开始

1. 下载和安装

# 克隆仓库
git clone https://github.com/your-repo/CacheMax.git

# 编译Release版本
cd CacheMax
dotnet build CacheMax.GUI/CacheMax.GUI.csproj --configuration Release

2. 配置FastCopy(推荐)

  1. 下载并安装 FastCopy
  2. 确保安装路径为 C:\Program Files\FastCopy64\fcp.exe
  3. 或修改 appsettings.json 中的路径配置

3. 运行程序

# 使用启动脚本
运行CacheMax.bat

# 或直接运行
CacheMax.GUI\bin\Release\net8.0-windows\CacheMax.exe

🎯 使用方法

基本操作

  1. 添加加速路径

    • 在"添加新路径"输入框中输入要加速的文件夹路径
    • 点击"➕ 添加"按钮
    • 系统会自动创建缓存并建立连接点
  2. 管理加速项目

    • 🚀 加速: 为选中的未加速文件夹创建缓存加速
    • ⏸ 暂停: 暂停加速但保留配置(移除连接点)
    • 🔄 刷新: 刷新所有项目状态
    • 🗑 移除: 彻底删除加速项目和缓存
  3. 状态监控

    • 队列状态: 实时查看同步队列和处理进度
    • 性能统计: 监控缓存命中率和传输速度
    • 系统托盘: 最小化后在托盘查看状态

配置选项

编辑 appsettings.json 自定义配置:

{
  "FastCopy": {
    "ExecutablePath": "C:\\Program Files\\FastCopy64\\fcp.exe",
    "MaxConcurrency": 3
  },
  "ForbiddenDirectories": [
    "C:\\Windows\\*",
    "C:\\Program Files"
  ]
}

🔧 技术架构

核心组件

  • JunctionService - 目录连接点管理,支持创建/删除/验证连接点
  • CacheManagerService - 缓存生命周期管理,状态恢复
  • FileSyncService - 实时文件同步,支持并发处理和队列管理
  • FastCopyService - 高性能文件复制,进程监控和超时控制
  • ErrorRecoveryService - 自动错误恢复,崩溃一致性保证

工作原理

原始路径: D:\SlowDisk\MyProject
缓存路径: S:\Cache\MyProject_cache_xxx
连接点:   D:\SlowDisk\MyProject -> S:\Cache\MyProject_cache_xxx

应用程序访问 D:\SlowDisk\MyProject 实际访问高速缓存

📁 项目结构

CacheMax/
├── CacheMax.GUI/              # WPF主程序
│   ├── Services/              # 核心服务层
│   │   ├── JunctionService.cs      # 连接点管理
│   │   ├── CacheManagerService.cs  # 缓存管理
│   │   ├── FileSyncService.cs      # 文件同步
│   │   ├── FastCopyService.cs      # 高性能复制
│   │   └── ConfigService.cs        # 配置管理
│   ├── ViewModels/            # 视图模型
│   ├── MainWindow.xaml        # 主界面
│   └── appsettings.json       # 配置文件
├── Logs/                      # 日志目录
└── README.md                  # 说明文档

⚠️ 注意事项

安全提醒

  • 禁止目录: 系统已内置禁止列表,防止误操作系统关键目录
  • 权限检查: 程序会验证路径权限,确保操作安全
  • 数据备份: 建议重要数据提前备份

性能优化

  • SSD缓存: 推荐使用NVMe SSD作为缓存设备
  • 文件类型: 适合频繁访问的大文件和项目文件夹
  • 并发数: 根据硬件性能调整FastCopy并发数

故障排除

  • 连接点验证失败: 检查路径权限和磁盘空间
  • 文件同步异常: 查看日志文件 Logs/CacheMax.log
  • 性能问题: 调整 appsettings.json 中的并发参数

📊 性能基准

场景 传统访问 CacheMax加速 提升倍数
大型项目编译 120s 45s 2.7x
视频编辑预览 卡顿 流畅 -
数据库查询 2.5s 0.8s 3.1x

🤝 贡献指南

欢迎提交Issue和Pull Request!

  1. Fork本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

📞 支持

  • Issues: GitHub Issues
  • 文档: 查看项目Wiki获取详细文档
  • 更新: 关注Release页面获取最新版本

⭐ 如果这个项目对你有帮助,请给我们一个Star!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published