Cloudflare KV 数据备份及迁移

文章讲述了作者在项目中遇到的CloudflareKV延迟问题,决定切换至Cloudflare全家桶并分享了备份所有数据Key的方法,包括使用remote-cloudflare-kv库,备份到本地文件,以及将KV数据转换为SQL语句迁移到D1数据库的过程。

背景

之前的项目一直都用的是免费的服务,后端 Vercel 托管,数据使用的 Cloudflare KV。 这其中就有一个很严重的问题:延迟。经常数据操作了,但是 KV 还是缓存的值。

现在索性全部换成 Cloudflare 全家桶,虽然可以直接用 KV,但结构化的数据可以用免费的 D1 额度。

从网上搜索了很多关于 Cloudflare KV 备份及迁移的文章,但是都不是很满意,所以自己写了一个。

列出所有数据 Key

这里用到了我之前发布的包 remote-cloudflare-kv,这样可以在本地进行 KV 的备份。

可以参考我之前的文章来学习详细的使用: https://willin.wang/zh/blog/remote-cloudflare-kv

列出所有数据 Keys 的代码很简单:

import CloudflareKV from 'remote-cloudflare-kv';

const NAMESPACE = new CloudflareKV({
   
   
  account_id: 'xxxx',
  namespace_id: 'xxxx',
  // use bearer token
  api_token: 'xxxx'
});

async function main() {
   
   
  const {
   
    keys } = await NAMESPACE.list({
   
    limit: 1000 });
  console.log(JSON.stringify(keys, null, 2));
}

main();

如果数据量比较大,需要进行分页的话,参考 GraphQL 的游标分页查询,示例代码如下:

await NAMESPACE.list({
   
    prefix: string, limit: number, cursor
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Willin 老王躺平不摆烂

感谢你这么好看还这么慷慨

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值