Crate rustbreak [−] [src]
Rustbreak
Rustbreak is a Daybreak inspiried single file Database. It uses bincode or yaml to compactly save data. It is thread safe and very fast due to staying in memory until flushed to disk.
It can be used for short-lived processes or with long-lived ones:
use rustbreak::{Database, Result}; fn get_data(key: &str) -> Result<String> { let db = try!(Database::<String>::open("/tmp/database")); db.retrieve(key) }
use rustbreak::{Database, Result}; lazy_static! { static ref DB: Database<String> = { Database::open("/tmp/more_data").unwrap() }; } fn get_data(key: &str) -> Result<u64> { DB.retrieve(key) } fn set_data(key: &str, d: u64) -> Result<()> { let mut lock = try!(DB.lock()); let old_data : u64 = try!(lock.retrieve(key)); lock.insert(key, d + old_data) }
Structs
| Database |
The Database structure |
| Lock |
Structure representing a lock of the Database |
| Transaction |
A Transaction that is atomic in writes |
| TransactionLock |
A |
Enums
| BreakError |
The Error type exported by BreakError, usually you only need to check against NotFound, however it might be useful sometimes to get other errors. |
Type Definitions
| Result |
Alias for our Result Type |