技术分享|
上码团队
/2025-12-21/3 分钟

CAS 内容寻址存储:上码的核心技术

深入解析上码采用的 CAS (Content-Addressable Storage) 架构,了解我们如何实现秒级部署和智能去重。

CAS 内容寻址存储:上码的核心技术

在传统的静态网站托管方案中,每次部署都需要上传所有文件。而上码采用了 CAS (Content-Addressable Storage) 架构,让部署变得更快、更省带宽。

什么是 CAS?

Content-Addressable Storage,即内容寻址存储,是一种基于内容哈希值来存储和检索数据的技术。

简单来说:

  • 每个文件的「地址」就是它的内容的 SHA-256 哈希值
  • 相同内容的文件只会存储一份
  • 文件一旦写入,内容不可变

CAS 在上码的应用

智能去重

当你上传网站文件时,上码会:

  1. 在浏览器端计算每个文件的 SHA-256 哈希
  2. 发送哈希列表到服务端
  3. 服务端返回「哪些文件需要上传」
  4. 只上传真正有变化的文件
假设你的网站有 100 个文件,但只修改了 3 个:
- 传统方案:上传 100 个文件
- 上码 CAS:只上传 3 个文件

秒级部署

由于 CAS 对象是不可变的,我们可以放心地使用强缓存:

  • 所有 CAS 对象设置 Cache-Control: immutable, max-age=31536000
  • CDN 节点可以永久缓存这些文件
  • 用户访问时,大部分文件直接从边缘节点返回

版本管理

每次部署会生成一个 manifest(清单文件),记录:

{
  "index.html": { "hash": "sha256-abc...", "size": 1234 },
  "styles.css": { "hash": "sha256-def...", "size": 5678 },
  ...
}

回滚版本只需切换 manifest 指针,不需要重新上传文件。

存储结构

R2 Bucket/
├── objects/                    # CAS 对象池
│   ├── sha256-abc...           # 文件内容
│   └── sha256-def...
└── manifests/                  # 项目清单
    └── <projectId>/
        └── <deploymentId>.json

技术优势总结

优势说明
🚀 更快部署只上传变化的文件
💾 节省存储相同文件只存一份
⚡ 极速访问不可变对象 + 强缓存
⏪ 秒级回滚切换 manifest 指针

CAS 是上码的核心技术之一,也是我们能够提供免费套餐的关键——因为去重大大降低了存储成本。

如果你对技术细节感兴趣,欢迎关注我们的技术博客,我们会分享更多架构设计和最佳实践。

#CAS#架构#技术

准备好发布你的网站了吗?

上码提供极速、安全、易用的静态网站托管服务。无需运维,专注于你的创作。

免费开始部署