缓存配置
目标:按你的部署方式,把 danmu_api 的缓存方式配好。
这页只讲缓存,不重复前面部署页已经写过的启动步骤。
- 电脑本地 / 手机 Termux:建议先建
.cache目录,让本地缓存能落盘;后面想再接 Redis,再单独配本地 Redis。 - Docker:如果你是按 Docker 部署 页走的,
.cache已经挂载好了,这里不用再配一次。 - Vercel / Netlify / Cloudflare Workers:如果你没有“记住上次选择”或“跨实例保留缓存”的需求,可以先不配 Upstash。
- EdgeOne Pages:这条线必须配 Upstash。不补这一层共享缓存时,请求落到新的运行环境后,匹配弹幕很容易直接返回 404。
电脑本地 / 手机 Termux
Section titled “电脑本地 / 手机 Termux”第 1 步:先回到项目目录
Section titled “第 1 步:先回到项目目录”如果你是按前面的部署页走:
- 电脑本地:项目目录通常是
%USERPROFILE%\danmu_api - 手机 Termux:项目目录通常是
$HOME/danmu_api
电脑本地可以先执行:
cd /d %USERPROFILE%\danmu_api
%USERPROFILE%\danmu_api。Termux 可以先执行:
cd $HOME/danmu_api如果这里提示没有这个目录,就切到你自己实际的项目根目录;或者直接在文件管理器里,去项目根目录新建一个 .cache 文件夹。
第 2 步:在项目根目录新建 .cache
Section titled “第 2 步:在项目根目录新建 .cache”本地这两条线都建议建这个目录。 建好以后,运行时缓存就能尽量保留到本地,不只放在内存里。
电脑本地可以执行:
mkdir .cacheTermux 可以执行:
mkdir -p .cache第 3 步:后面还想接本地 Redis,就先按新手教程把 Redis 跑起来
Section titled “第 3 步:后面还想接本地 Redis,就先按新手教程把 Redis 跑起来”这一步不要直接照抄连接串。 先把 Redis 服务跑起来,再回这页填连接地址更稳:
- Windows 用户:先看这篇带截图的图文教程,把 Redis 安装并启动好:Window 下 Redis 的安装和部署详细图文教程
- 如果你本机已经装了 Docker Desktop,也可以先看这篇图文教程,把 Redis 容器跑起来:Docker 安装 Redis(超详细图文),跑起来以后再回来填
LOCAL_REDIS_URL。
Redis 跑起来以后,再把它的实际地址填到:
LOCAL_REDIS_URL=你自己 Redis 的实际连接地址这一项只适合电脑本地、Termux 和 Docker。 云平台不要用这一项。
Docker
Section titled “Docker”第 1 步:如果你按 Docker 部署页走,.cache 已经挂载好了
Section titled “第 1 步:如果你按 Docker 部署页走,.cache 已经挂载好了”按 Docker 部署 页走时,工作目录通常就是:
cd ~/danmu-api那一页的 Compose 已经有这行:
- ./.cache:/app/.cache
.cache 挂载已经在 Compose 里了,这里不用重复再配一遍。如果你这里没有这个目录,就切到你自己实际存放 docker-compose.yml 的目录。
第 2 步:如果还想接 Redis,再补本地 Redis 地址
Section titled “第 2 步:如果还想接 Redis,再补本地 Redis 地址”Docker 这条线先把 .cache 用起来就够了。
只有你自己已经有 Redis,或者就是想把运行时状态放进 Redis,再补这一项:
LOCAL_REDIS_URL=你自己 Redis 的实际连接地址如果 Redis 和 danmu_api 在同一个 Docker Compose 网络里,通常要填 Redis 服务名,不要直接写 127.0.0.1。
Vercel / Netlify / Cloudflare Workers
Section titled “Vercel / Netlify / Cloudflare Workers”第 1 步:没有额外需求时,先不要配 Upstash
Section titled “第 1 步:没有额外需求时,先不要配 Upstash”这 3 条云平台线默认先用内存缓存就能跑。 如果你没有下面这些需求,就可以先不配 Upstash:
- 想记住上次手动选择结果
- 想让弹幕和结果缓存尽量跨实例保留下来
- 想减少不同实例之间的缓存不一致
多加一层远程 Redis,会多一次网络请求。 如果你只是先把服务跑通,先不配更省事。
第 2 步:决定要配时,再去创建 Upstash Redis
Section titled “第 2 步:决定要配时,再去创建 Upstash Redis”先打开:

第 3 步:再把 Upstash 两项填进对应云平台环境变量
Section titled “第 3 步:再把 Upstash 两项填进对应云平台环境变量”UPSTASH_REDIS_REST_URL=你的 REST URLUPSTASH_REDIS_REST_TOKEN=你的 REST TOKEN详细怎么填,看对应页面:
EdgeOne Pages
Section titled “EdgeOne Pages”第 1 步:EdgeOne 这条线必须配 Upstash
Section titled “第 1 步:EdgeOne 这条线必须配 Upstash”这条线不要省。 不补这一层共享缓存时,请求一旦落到新的运行环境,前一次匹配结果就接不上,常见表现就是匹配弹幕直接返回 404。
第 2 步:先创建 Upstash Redis
Section titled “第 2 步:先创建 Upstash Redis”如果你前面已经按上一节创建好了,就直接复用,不用再建第二个。

第 3 步:再去 EdgeOne 的环境变量页补这两项
Section titled “第 3 步:再去 EdgeOne 的环境变量页补这两项”UPSTASH_REDIS_REST_URL=你的 REST URLUPSTASH_REDIS_REST_TOKEN=你的 REST TOKEN第 4 步:具体去哪里点,直接看这页
Section titled “第 4 步:具体去哪里点,直接看这页”缓存时间和记忆项怎么改
Section titled “缓存时间和记忆项怎么改”第 1 步:后面直接进管理员 UI 的 系统配置
Section titled “第 1 步:后面直接进管理员 UI 的 系统配置”https://你的域名/你的ADMIN_TOKEN
系统配置 改就行。第 2 步:缓存时间和记忆项主要看这几项
Section titled “第 2 步:缓存时间和记忆项主要看这几项”SEARCH_CACHE_MINUTES=3COMMENT_CACHE_MINUTES=3SEARCH_CACHE_MAX_ITEMS=300COMMENT_CACHE_MAX_ITEMS=300REMEMBER_LAST_SELECT=trueMAX_LAST_SELECT_MAP=100MAX_ANIMES=100- 电脑本地 / 手机 Termux:建议先建
.cache。 - Docker:如果按 Docker 部署页走,
.cache已经有了。 - Vercel / Netlify / Cloudflare Workers:没有额外需求时,可以先不配 Upstash。
- EdgeOne Pages:先补 Upstash,再继续后面的环境变量配置。
正文依据:huangxd-/danmu_api 当前 README、缓存实现代码(cache-util.js / redis-util.js / local-redis-util.js / configs/envs.js),以及现有教程页中的社区截图与 Upstash 控制台素材。
纠错与建议
这一步有问题?
可以直接提交纠错或建议。我会按页面和步骤整理处理。
教程反馈