存储
配置 KV 存储、缓存和数据库连接。
Note
本页所有示例都假设已在 nitro.config.ts 中导入以下内容:
import { defineConfig } from "nitro";#kv
- 默认值:
{}
KV 存储配置。
export default defineConfig({
kv: {
redis: {
driver: "redis",
url: "redis://localhost:6379",
},
},
});使用 $development 键可在开发模式下覆盖挂载配置:
export default defineConfig({
$development: {
kv: {
redis: {
driver: "fs",
base: "./data/redis", // use filesystem in development
},
},
},
});$development 仅适用于开发服务器。预渲染时使用 $prerender 覆盖挂载配置。driver 不同时会替换整个挂载项;driver 相同时则会深度合并选项。
Note
该选项此前名为 storage,目前仍可作为已弃用的别名使用。已弃用的 devStorage 选项由 $development(和 $prerender)中的 kv 取代。
Read more in Docs > Storage.
#cache
- 默认值:
{}
缓存函数和处理器及 cache 路由规则使用的缓存存储和全局默认选项。
export default defineConfig({
cache: {
driver: "fs", // "memory" (default) | "fs" | "kv"
fs: { dir: ".data/cache" },
defaults: { maxAge: 60, swr: true },
},
});driver:memory(进程内 LRU)、fs(文件系统,仅兼容 Node.js 的运行时)或kv(kv存储层)。配置了cacheKV 挂载点时默认为kv,否则默认为memory。memory:memory驱动的maxSize和maxBytes限制。fs:fs驱动的dir(默认为.data/cache)。defaults:所有缓存的全局默认选项(maxAge、swr、staleMaxAge、maxResolveTime、base,以及仅适用于处理器的varies、allowQuery、allowCookies、allowAuthorization、sendCacheControl、cacheStatusHeader、maxBodySize)。
Read more in Docs > Cache#cache Storage.
#database
数据库连接配置。需要启用 experimental.database: true。
export default defineConfig({
database: {
default: {
connector: "sqlite",
options: { name: "db" },
},
},
}); Read more in Docs > Database.
#devDatabase
开发模式下的数据库连接配置覆盖项。
export default defineConfig({
devDatabase: {
default: {
connector: "sqlite",
options: { name: "db-dev" }, // separate dev database
},
},
});