键值存储

在您的 Nuxt 应用程序中添加一个全局低延迟键值数据存储。

入门

通过在您的 nuxt.config.ts 文件中将 kv 属性添加到 hub 对象,在您的 NuxtHub 项目中启用键值存储。

nuxt.config.ts
export default defineNuxtConfig({
  hub: {
    kv: true
  }
})
此选项将在开发中使用 Cloudflare 平台代理,并在您 部署 项目时自动为您的项目创建一个 Cloudflare Workers KV 命名空间。
Nuxt DevTools KV
NuxtHub Admin KV

列出所有键

检索 KV 存储中的所有键。

const keys = await hubKV().keys()
/*
[
  'react',
  'react:gatsby',
  'react:next',
  'vue',
  'vue:nuxt',
  'vue:quasar'
]

要获取以特定前缀开头的键,可以将前缀作为参数传递。

const vueKeys = await hubKV().keys('vue')
/*
[
  'vue:nuxt',
  'vue:quasar'
]
*/
我们建议使用前缀来更好地组织和提高性能,因为 keys() 将扫描整个命名空间。

获取一项

从键值存储中检索一项。

const vue = await hubKV().get('vue')
/*
{
  year: 2014
}
*/

设置一项

将一项放入存储中。

await hubKV().set('vue', { year: 2014 })

您可以使用 : 分隔键以创建命名空间

await hubKV().set('vue:nuxt', { year: 2016 })
值的最大大小为 25 MiB,键的最大长度为 512 字节。

过期

您还可以设置以秒为单位的 TTL(生存时间)

await hubKV().set('vue:nuxt', { year: 2016 }, { ttl: 60 })

TTL 过期后,该项将被删除。

是否存在一项

检查存储中是否存在某项。

const hasAngular = await hubKV().has('angular')

删除一项

从存储中删除一项。

await hubKV().del('react')

限制

  • 值的**最大大小**为 25 MiB。
  • 键的**最大长度**为 512 字节。
  • TTL 必须至少为 60 秒。

详细了解 Cloudflare KV 限制

了解更多

hubKV() 是具有 Cloudflare KV 绑定 驱动程序的 unstorage 实例。