# my-cache-fs **Repository Path**: asphodelus_dev/my-cache-fs ## Basic Information - **Project Name**: my-cache-fs - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-24 - **Last Updated**: 2024-03-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1. 设计一个元数据,存pebble 2. key:桶名+objectKey value:序列化元数据 元数据: ```json5 { "name": "文件名", "size": "文件大小", "type": "文件类型", "time": "修改时间", "chunk": [] //对应分片(大小8Mib)位置 (sha256) } ``` 上传操作: 1. 普通上传 - 将文件分割成8mb分割的分片 - 构建元数据 - 将分片zstd压缩并索引化 - 保存元数据到pebbledb 2. 分片上传 - 初始化分片操作 - 初始化元信息 - 上传分片(8mb分割) - zstd压缩分片 - 将分片索引化 - 索引信息添加到元数据 - 保存元数据到pebbledb 3. 文件获取 获取文件元信息 获取文件分片位置 依次解压分片,然后以流的形式返回