minkv/lib.rs
1//! 一个轻量级、可扩展的键值存储库。
2//!
3//! 提供核心类型 [`KvStore`] 以及两个内置存储后端:
4//! - [`MemoryStorage`]:基于 `HashMap` 的纯内存存储。
5//! - [`FileStorage`]:基于 JSON 文件的持久化存储。
6//!
7//! 用户可以自行实现 [`Storage`] trait 来扩展新的后端。
8//!
9//! # 示例
10//!
11//! ```rust
12//! use minkv::{KvStore, FileStorage};
13//!
14//! let mut store = KvStore::new(FileStorage::open("my_data.json"));
15//! store.set("name".into(), "Rust".into());
16//! assert_eq!(store.get("name"), Some("Rust"));
17//! // 扫描所有以 "n" 开头的键
18//! let results: Vec<_> = store.scan("n").collect();
19//! assert!(!results.is_empty());
20//! ```
21
22pub mod store;
23pub mod cli;
24pub mod pool;
25
26pub use store::{KvStore, KvError, Result, Storage, MemoryStorage, FileStorage};
27pub use pool::SimpleMemoryPool;