文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
存储 Storage
Nitro 提供了一个内置的存储层,可以抽象文件系统或数据库或任何其他数据源。
useStorage()
是使用 内存驱动程序 的 createStorage 实例。
**示例:**简单(内存中)操作
jsawait useStorage().setItem('test:foo', { hello: 'world' })
await useStorage().getItem('test:foo')
// 您还可以在 useStorage(base) 中指定基数
await useStorage('test').setItem('foo', { hello: 'world' })
await useStorage('test').getItem('foo')
详细用法见Unstorage。
Mountpoints
您可以使用 storage 选项安装存储驱动程序:
nitro.config.tsimport { defineNitroConfig } from 'nitropack/config'
export default defineNitroConfig({
storage: {
'redis': {
driver: 'redis',
/* redis connector options */
},
'db': {
driver: 'fs',
base: './data/db'
}
}
})
nuxt.config.tsexport default defineNuxtConfig({
nitro: {
storage: {
redis: {
driver: 'redis',
/* redis connector options */
},
db: {
driver: 'fs',
base: './.data/db'
}
}
}
})
Usage:
jsawait useStorage('redis').setItem('foo', { hello: 'world' })
await useStorage('redis').getItem('foo')
// 或者
await useStorage().setItem('redis:foo', { hello: 'world' })
await useStorage().getItem('redis:foo')
您可以在 unstorage 文档 上找到驱动程序列表。
在开发中,Nitro 使用 FS 驱动程序 添加“缓存”挂载点,如果使用 Nuxt 。
jsawait useStorage('cache').setItem('foo', { hello: 'world' })
await useStorage('cache').getItem('foo')
Development storage
您可以在开发期间使用 devStorage
键覆盖存储配置,这在您在生产中使用数据库并希望在开发中使用文件系统时非常有用。
export default defineNitroConfig({
// 生产
storage: {
db: {
driver: 'redis',
/* redis connector options */
}
},
// 开发
devStorage: {
db: {
driver: 'fs',
base: './data/db'
}
}
})
nuxt.config.tsexport default defineNuxtConfig({
nitro: {
// 生产
storage: {
db: {
driver: 'redis',
/* redis connector options */
}
},
// 开发
devStorage: {
db: {
driver: 'fs',
base: './data/db'
}
}
}
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论