跳转到内容
AsterDrive开发者
安全更新:Docker 镜像从 v0.4.0-rc.1 起已修复 FFmpeg MagicYUV 解码器漏洞 CVE-2026-8461(高危),使用旧镜像的实例请立即升级。查看 CVE 公告
安全更新:v0.4.0-beta.3 已修复 WebDAV 请求可导致服务进程终止的问题,旧版本实例请尽快升级。查看安全公告

缓存

[cache]
backend = "memory"
endpoint = ""
default_ttl = 3600

单机、NAS、小团队部署,内存缓存够用。只有这两种情况才值得上 Redis

  • 多实例部署
  • 多个应用实例之间需要共享缓存
选项默认值作用
backend"memory"memoryredis
endpoint""Redis 连接地址,仅 backend = "redis" 时使用
default_ttl3600默认 TTL,单位秒

现有完整 URL 字符串继续兼容:

endpoint = "redis://encoded-user:encoded-password@cache.internal:6379/0"

用户名或密码含保留字符时,推荐直接传原始凭据:

endpoint = { base_url = "redis://cache.internal:6379/0", username = "RAW_USERNAME", password = "RAW_PASSWORD" }

无 ACL 用户名、只有密码的 Redis 使用 username = ""。原始凭据不要预编码,base_url 不能包含 userinfo;AsterDrive 和 Forge 的 Debug/配置序列化不会输出 username/password。生产环境应限制配置文件权限,Kubernetes 建议通过 Secret 挂载完整配置。

对应的结构化环境变量:

Terminal window
ASTER__CACHE__ENDPOINT__BASE_URL=redis://cache.internal:6379/0
ASTER__CACHE__ENDPOINT__USERNAME=
ASTER__CACHE__ENDPOINT__PASSWORD=RAW_PASSWORD

backend 设成 redis 但启动时 Redis 连不上时,AsterDrive 会让 Forge cache 构造器使用 ReturnError 策略,直接返回连接错误并终止启动。这样 single 和 cluster 都不会在运维人员以为正在使用 Redis 时悄悄改成进程本地缓存,编排器也能在 Redis 恢复后重试启动。

如果 Redis backend 已经成功建立,运行期短暂断线会进入受控 fallback/circuit 状态:/health 继续表示进程存活,/health/ready 返回失败;连接恢复后 backend 会重新变为 ready。

Terminal window
ASTER__CACHE__BACKEND=memory
ASTER__CACHE__ENDPOINT=redis://127.0.0.1:6379/0
ASTER__CACHE__DEFAULT_TTL=3600