R2
CLOUDFLARE通过异步 AWS SDK 客户端使用 Cloudflare R2。
R2 设置 →R2D1 / 模块化 JAVA 持久化
选择一个 DocumentStore 保存完整文档,再选择一个 IndexStore 进行索引查找。无论使用哪种后端或集成方式,R2D1 都保持相同的集合 API。
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();完整的设置、适配器选择和生命周期规则请参阅 开始使用.
核心 artifact 提供通用 API 和 Cloudflare 后端。需要本地文件、JDBC 索引或 Micronaut wiring 时,只添加对应模块。
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 设置 →设置一个文档存储和一个索引存储,定义元数据,然后打开集合。