#[non_exhaustive]pub struct Config {
pub dir: PathBuf,
pub sync: SyncPolicy,
pub max_segment_bytes: u64,
pub max_bytes: Option<u64>,
pub low_watermark: f64,
pub compact_ratio: f64,
pub compact_min_bytes: u64,
pub background: bool,
pub snapshot_max_bytes: usize,
pub snapshot_zstd_level: i32,
/* private fields */
}Expand description
打开存储的配置,用 Config::new 创建后按需修改字段。
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.dir: PathBuf§sync: SyncPolicy§max_segment_bytes: u64单个段文件的大小上限,超过就换新段。不能超过 2GiB。
max_bytes: Option<u64>存储空间上限(F-8.4)。超过后按 LRU 淘汰缓存和快照内容,任务状态不会被淘汰。
low_watermark: f64淘汰到上限的这个比例为止。
compact_ratio: f64无效数据(被覆盖、删除)占比达到这个值时后台压缩。
compact_min_bytes: u64总大小低于这个值时不自动压缩。
background: bool是否在后台线程自动压缩和淘汰;关掉后需要自己调用 Store::gc、Store::compact。
snapshot_max_bytes: usize单个快照(压缩前)的大小上限。
snapshot_zstd_level: i32Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnsafeUnpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more