4个版本 (重大更新)
0.4.0 | 2023年5月13日 |
---|---|
0.3.0 | 2023年3月8日 |
0.2.0 | 2022年12月20日 |
0.1.0 | 2022年9月26日 |
#4 in #automerge
39KB
637 行
一个针对 Sled 的持久化目标。
单个持久化
let db = sled::Config::new().temporary(true).open()?;
let changes_tree = db.open_tree("changes")?;
let documents_tree = db.open_tree("documents")?;
let sync_states_tree = db.open_tree("sync-states")?;
let persister = SledPersister::new(changes_tree, documents_tree, sync_states_tree, "")?;
let doc = PersistentAutomerge::load(persister);
多个持久化共享相同的树
let db = sled::Config::new().temporary(true).open()?;
let changes_tree = db.open_tree("changes")?;
let documents_tree = db.open_tree("documents")?;
let sync_states_tree = db.open_tree("sync-states")?;
let persister1 = SledPersister::new(
changes_tree.clone(),
documents_tree.clone(),
sync_states_tree.clone(),
"1",
)?;
let doc1 = PersistentAutomerge::load(persister1);
let persister2 = SledPersister::new(changes_tree, documents_tree, sync_states_tree, "2")?;
let doc2 = PersistentAutomerge::load(persister2);
依赖项
~6MB
~124K SLoC