背景
之前的项目一直都用的是免费的服务,后端 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

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

被折叠的 条评论
为什么被折叠?



