请注意,读取查询返回的书签

Dive into business data optimization and best practices.
Post Reply
sakib40
Posts: 707
Joined: Sat Dec 21, 2024 3:20 am

请注意,读取查询返回的书签

Post by sakib40 »

使用 Sessions API 可以修复不一致问题。第一个写入查询再次由数据库主服务器处理,这次响应包含“ Bookmark 100 ”。会话对象将以透明的方式为您存储此书签。

后续的读取查询将像以前一样由数据库副本处理,但由于查询包含先前收到的“书签 100 ”,数据库副本将等待,直到其数据库副本至少更新为“书签 100 ”。只有当其数据库副本更新为最新状态后,才会处理读取查询并返回结果,其中包括副本的最新书签“书签 104 ”。

是“ Bookmark 104 ”,这与查询请求中传递的书签不同。如果在我们自己的客户端执行 巴哈马电报号码数据 的两个查询之间,其他客户端请求的写入操作也被复制到了数据库副本,则可能会发生这种情况。

启用读取复制
要开始使用 D1 读取复制:

更新您的 Worker,使其使用 D1 Sessions API 来告知 D1 哪些查询属于同一数据库会话。Sessions API 也适用于未启用读取复制的数据库,因此即使在启用副本之前也可以安全地发送此代码。以下是示例。

通过Cloudflare 仪表板> 选择 D1 数据库 > 设置为您的数据库启用副本。

D1 读取复制功能内置于 D1 中,您无需为副本支付额外的存储或计算成本。无论您是否启用副本,D1 的使用量都完全相同,具体取决于rows_read您rows_written的查询。与其他具有复制功能的传统数据库系统不同,您无需手动创建副本(包括它们的运行位置),也无需决定如何在主数据库和读取副本之间路由请求。Cloudflare 会在使用 Sessions API 时处理这些问题,同时确保顺序一致性。
Post Reply