Crate rocksdb[−][src]
Rust wrapper for RocksDB.
Examples
use rocksdb::{DB, Options}; // NB: db is automatically closed at end of lifetime let path = "_path_for_rocksdb_storage"; { let db = DB::open_default(path).unwrap(); db.put(b"my key", b"my value").unwrap(); match db.get(b"my key") { Ok(Some(value)) => println!("retrieved value {}", String::from_utf8(value).unwrap()), Ok(None) => println!("value not found"), Err(e) => println!("operational problem encountered: {}", e), } db.delete(b"my key").unwrap(); } let _ = DB::destroy(&Options::default(), path);
Opening a database and a single column family with custom options:
use rocksdb::{DB, ColumnFamilyDescriptor, Options}; let path = "_path_for_rocksdb_storage_with_cfs"; let mut cf_opts = Options::default(); cf_opts.set_max_write_buffer_number(16); let cf = ColumnFamilyDescriptor::new("cf1", cf_opts); let mut db_opts = Options::default(); db_opts.create_missing_column_families(true); db_opts.create_if_missing(true); { let db = DB::open_cf_descriptors(&db_opts, path, vec![cf]).unwrap(); } let _ = DB::destroy(&db_opts, path);
Re-exports
pub use crate::compaction_filter::Decision as CompactionDecision; |
pub use crate::merge_operator::MergeOperands; |
pub use crate::perf::PerfContext; |
pub use crate::perf::PerfMetric; |
pub use crate::perf::PerfStatsLevel; |
Modules
backup | |
checkpoint | Implementation of bindings to RocksDB Checkpoint1 API |
compaction_filter | |
compaction_filter_factory | |
merge_operator | rustic merge operator |
perf |
Structs
BlockBasedOptions | For configuring block-based file storage. |
Cache | |
ColumnFamily | An opaque type used to represent a column family. Returned from some functions, and used in others |
ColumnFamilyDescriptor | A descriptor for a RocksDB column family. |
CompactOptions | |
DB | A RocksDB database. |
DBIterator | An iterator over a database or column family, with specifiable ranges and direction. |
DBPath | Represents a path where sst files can be put into |
DBPinnableSlice | Wrapper around RocksDB PinnableSlice struct. |
DBRawIterator | An iterator over a database or column family, with specifiable ranges and direction. |
DBWALIterator | Iterates the batches of writes since a given sequence number. |
Env | An Env is an interface used by the rocksdb implementation to access operating system functionality like the filesystem etc. Callers may wish to provide a custom Env object when opening a database to get fine gain control; e.g., to rate limit file system operations. |
Error | A simple wrapper round a string, used for errors reported from ffi calls. |
FifoCompactOptions | |
FlushOptions | Optionally wait for the memtable flush to be performed. |
IngestExternalFileOptions | For configuring external files ingestion. |
LiveFile | The metadata that describes a SST file |
Options | Database-wide options around performance and behavior. |
PlainTableFactoryOptions | Used with DBOptions::set_plain_table_factory. See official wiki for more information. |
ReadOptions | |
SliceTransform | A |
Snapshot | A consistent view of the database at the point of creation. |
SstFileWriter | SstFileWriter is used to create sst files that can be added to database later All keys in files generated by SstFileWriter will have sequence number = 0. |
UniversalCompactOptions | |
WriteBatch | An atomic batch of write operations. |
WriteOptions | Optionally disable WAL or sync for this write. |
Enums
BlockBasedIndexType | Used by BlockBasedOptions::set_index_type. |
BottommostLevelCompaction | |
DBCompactionStyle | |
DBCompressionType | |
DBRecoveryMode | |
DataBlockIndexType | Used by BlockBasedOptions::set_data_block_index_type. |
Direction | |
IteratorMode | |
MemtableFactory | Defines the underlying memtable implementation. See official wiki for more information. |
UniversalCompactionStopStyle |
Constants
DEFAULT_COLUMN_FAMILY_NAME | The name of the default column family. |
Traits
WriteBatchIterator | Receives the puts and deletes of a write batch. |