Skip to content

缓存配置

按你的部署方式,把 LogVar 弹幕 API 的缓存方式配好。本页只讲缓存,不重复部署页已经写过的启动步骤。

手机用户

本页截图来自电脑浏览器。手机上按钮可能折叠,如果找不到入口,先把浏览器切到“桌面版网站”。

先看结论

  • 电脑本地 / Termux:建议先建 .cache 目录,让本地缓存能落盘;后面想接 Redis,再单独配本地 Redis。
  • Docker:如果按 Docker 部署 页走,.cache 已经挂载好了,这里不用再配一次。
  • Hugging Face Space:如果按 Hugging Face Space 部署 页走,Storage Bucket 已经挂到 /app/.cache,可以先不用 Upstash。
  • Vercel / Netlify / Cloudflare Workers:如果没有“记住上次选择”或“跨实例保留缓存”的需求,可以先不配 Upstash。
  • EdgeOne Pages:必须配 Upstash。不补共享缓存时,请求落到新的运行环境后,匹配弹幕容易直接返回 404。

按部署方式配置

下面是互斥路线。你用哪种部署方式,就只看对应标签页。

适合 Node.js 本地部署和 Termux 手机部署。

1. 回到项目目录

电脑本地项目目录通常是:

bat
cd /d %USERPROFILE%\danmu_api

Termux 项目目录通常是:

bash
cd $HOME/danmu_api

如果提示没有这个目录,就切到你自己实际的项目根目录。

2. 新建 .cache

电脑本地:

bat
mkdir .cache

Termux:

bash
mkdir -p .cache

建好以后,运行时缓存就能尽量保留到本地,不只放在内存里。

3. 需要 Redis 时再单独配置

先把 Redis 服务跑起来,再回项目配置连接地址:

text
LOCAL_REDIS_URL=你自己 Redis 的实际连接地址

这一项只适合电脑本地、Termux 和 Docker。云平台不要用这一项。

如果你按 Docker 部署 页走,工作目录通常是:

bash
cd ~/danmu-api

那一页的 Compose 已经包含 .cache 挂载:

yaml
- ./.cache:/app/.cache

所以这里不用重复再配一遍。

需要 Redis 时

如果还想接 Redis,再补本地 Redis 地址:

text
LOCAL_REDIS_URL=你自己 Redis 的实际连接地址

如果 Redis 和 LogVar 弹幕 API 在同一个 Docker Compose 网络里,通常要填 Redis 服务名,不要直接写 127.0.0.1

如果按 Hugging Face Space 部署 页创建 Space,已经在新建页面打开了 Storage Bucket,并把挂载路径填成:

text
/app/.cache

LogVar 弹幕 API 支持把运行缓存写进 .cache,所以 Hugging Face Space 这条线可以先不用 Upstash。

注意免费版缓存保留范围

Hugging Face Space 免费版重启、重建或切换实例后,运行目录可能被清空,缓存会重新生成。

这套配置主要用于减少当前实例运行期间的重复请求;如果你明确需要跨实例保留缓存,再考虑外部 Redis / Upstash。

Vercel、Netlify、Cloudflare Workers 这几条云平台线默认先用内存缓存就能跑。

没有下面这些需求时,可以先不配 Upstash:

  • 想记住上次手动选择结果
  • 想让弹幕和结果缓存尽量跨实例保留下来
  • 想减少不同实例之间的缓存不一致

多加一层远程 Redis,会多一次网络请求。只是先把服务跑通时,先不配更省事。

决定要配 Upstash 时

先打开 Upstash Redis 控制台创建数据库:

打开 Upstash Redis 控制台

Upstash 官方控制台创建 Redis 数据库的实际截图

然后把这两项填进对应云平台环境变量:

text
UPSTASH_REDIS_REST_URL=你的 REST URL
UPSTASH_REDIS_REST_TOKEN=*** REST TOKEN

具体填写位置看:

EdgeOne Pages 这条线不要省 Upstash。

不补共享缓存时,请求一旦落到新的运行环境,前一次匹配结果就接不上,常见表现就是匹配弹幕直接返回 404。

1. 创建或复用 Upstash Redis

先创建 Upstash Redis;如果前面已经创建好了,直接复用,不用再建第二个。

Upstash 官方控制台创建 Redis 数据库的实际截图

2. 填入 EdgeOne Pages 环境变量

去 EdgeOne 的环境变量页补这两项:

text
UPSTASH_REDIS_REST_URL=你的 REST URL
UPSTASH_REDIS_REST_TOKEN=*** REST TOKEN

具体去哪里点,看:UI 与环境变量 · EdgeOne Pages

缓存时间和记忆项怎么改

后续直接进系统配置页面:

text
https://你的域名/你的ADMIN_TOKEN

用户实际操作时在管理员 UI 里打开系统配置页面的截图

缓存时间和记忆项主要看这几项:

text
SEARCH_CACHE_MINUTES=3
COMMENT_CACHE_MINUTES=3
REMEMBER_LAST_SELECT=true
MAX_LAST_SELECT_MAP=100
MAX_ANIMES=100

这些是当前实际支持的缓存 / 记忆项。没有列出的缓存项先不要自己加,填了也不一定会被当前版本读取。

最后怎么选

  • 电脑本地 / Termux:先建 .cache
  • Docker:如果按 Docker 部署页走,.cache 已经有了。
  • Hugging Face Space:Storage Bucket 已经挂到 /app/.cache,可以先不用 Upstash;免费版重启、重建或换实例后缓存可能清空。
  • Vercel / Netlify / Cloudflare Workers:没有额外需求时,可以先不配 Upstash。
  • EdgeOne Pages:先补 Upstash,再继续后面的环境变量配置。

本项目仅供个人学习与交流,请勿在国内媒体平台宣传。