Java
提供 Cloudflare R2 与 D1、本地存储、JDBC 和框架集成的 Java 模块。
Java 文档 →R2D1 / 模块化 JAVA 持久化
选择一个 DocumentStore 保存完整文档,再选择一个 IndexStore 进行索引查找。无论使用哪种后端或集成方式,R2D1 都保持相同的集合 API。
Latest stable: 1.8.0
可以使用 Maven Central 上的 Java 库,也可以使用面向 Node.js 和 Cloudflare Workers 的 TypeScript 包。
提供 Cloudflare R2 与 D1、本地存储、JDBC 和框架集成的 Java 模块。
Java 文档 →面向 Node.js 和 Cloudflare Workers 的 TypeScript 包,使用与 Java 兼容的存储契约。
TypeScript 概览 →R2D1 将一个 DocumentStore 与一个 IndexStore 组合起来。分别从两列选择后端,按照设置指南配置,然后使用共享的集合 API。
负责权威序列化内容、按标识读取以及文档列表。
负责过滤和排序所需的文档标识与显式索引字段。
配置两个后端后,所有组合都使用相同的注解、集合生命周期、写入方法和索引查询构建器。
@Document("users")
record User(@Id String id, @Index String country, @Index long score) {}
R2D1 database = R2D1.builder()
.collectionFactory(new PersistenceCollectionFactory(
documentStore, indexStore, documentCodec, indexStore::initialize))
.build();
R2D1Collection<User> users = database.collection(User.class);
users.put(new User("user-123", "NZ", 42));
Page<User> page = users.query()
.where("country").eq("NZ")
.sortBy("score", SortDirection.DESC)
.limit(20)
.fetch();完整的设置、适配器选择和生命周期规则请参阅 开始使用.
R2D1 1.8.0 将包含 Quarkus 扩展,以及通用 API、存储适配器和 Micronaut、Spring Boot 集成。
dev.nexcraft:r2d1通用集合 API,以及 R2 DocumentStore 和 D1 IndexStore 适配器。
模块设置 →dev.nexcraft:r2d1-jdbc通过应用拥有的 DataSource 支持 H2、HSQLDB 和本地 SQLite 索引。
JDBC 设置 →dev.nexcraft:r2d1-filesystem具有原子替换和显式 executor 所有权的规范本地文档文件。
Filesystem 设置 →dev.nexcraft:r2d1-micronaut围绕相同框架无关集合 API 的 Micronaut 5 bean 配置。
Micronaut 设置 →dev.nexcraft:r2d1-spring-boot-starter已发布到 Maven Central 的 Spring Boot 4 starter 及独立 auto-configuration。
Spring Boot 设置 →dev.nexcraft:r2d1-quarkusQuarkus 3.39.5 扩展,提供 CDI 配置和应用资源管理,包含于 R2D1 1.8.0。
Quarkus 设置 →设置一个文档存储和一个索引存储,定义元数据,然后打开集合。