[−][src]Struct icbiadb::database::kv::KvDb
Fields
file_name: String
records: KV
Implementations
impl<KV> KvDb<KV> where
KV: KvInterface<Key = BvString, Value = BvObject, RefKey = [u8]>,
&'a KV: IntoIterator<Item = (&'a BvString, &'a BvObject)>,
[src]
KV: KvInterface<Key = BvString, Value = BvObject, RefKey = [u8]>,
&'a KV: IntoIterator<Item = (&'a BvString, &'a BvObject)>,
pub fn commit(&self) -> Result<()>
[src]
Write the in-memory database to file
pub fn len(&self) -> usize
[src]
Return the number of records stored in the database
pub fn has_key<S: AsRef<str>>(&self, key: S) -> bool
[src]
Check if the key already exists
pub fn incr<S: AsRef<str>>(&mut self, key: S)
[src]
Increment key by 1, isize is used by default if the key don't exists
pub fn incr_by<S, T>(&mut self, key: S, val: T) where
S: AsRef<str>,
T: Serialize + DeserializeOwned + Add,
<T as Add>::Output: Serialize,
[src]
S: AsRef<str>,
T: Serialize + DeserializeOwned + Add,
<T as Add>::Output: Serialize,
Increment key by T, isize is used by default if the key don't exists
pub fn decr<S: AsRef<str>>(&mut self, key: S)
[src]
Decrement key by 1, isize is used by default if the key don't exists
pub fn decr_by<S, T>(&mut self, key: S, val: T) where
S: AsRef<str>,
T: Serialize + DeserializeOwned + Sub,
<T as Sub>::Output: Serialize,
[src]
S: AsRef<str>,
T: Serialize + DeserializeOwned + Sub,
<T as Sub>::Output: Serialize,
Decrement key by T, isize is used by default if the key don't exists
pub fn swap<S: AsRef<str>, T: Serialize>(
&mut self,
key: S,
value: T
) -> BvObject
[src]
&mut self,
key: S,
value: T
) -> BvObject
Replace value with mem::replace and return the old value
pub fn set<S: AsRef<str>, T: Sized + Serialize>(&mut self, key: S, value: T)
[src]
Set a key to value T
pub fn set_as<S: AsRef<str>, T: Sized + Serialize>(
&mut self,
key: S,
t: S,
value: T
)
[src]
&mut self,
key: S,
t: S,
value: T
)
Set a key to value T with type name S
pub fn set_raw<S: AsRef<str>>(&mut self, key: S, type_name: S, value: Vec<u8>)
[src]
Set a key to Vec
pub fn set_many<S: AsRef<str>, T: Sized + Serialize>(
&mut self,
values: Vec<(S, T)>
)
[src]
&mut self,
values: Vec<(S, T)>
)
pub fn set_many_as<S: AsRef<str>, T: Sized + Serialize>(
&mut self,
values: Vec<(S, S, T)>
)
[src]
&mut self,
values: Vec<(S, S, T)>
)
pub fn get<S: AsRef<str>>(&self, key: S) -> Option<&BvObject>
[src]
Retrieve a BvObject
pub fn get_value<T: DeserializeOwned>(&self, key: &str) -> T
[src]
Retrieve and deserialize a value to T
pub fn get_tuple<S: AsRef<str>>(&mut self, key: S) -> Option<BvTuple<'_>>
[src]
Retrieve a value as BvTuple
pub fn get_str<S: AsRef<str>>(&mut self, key: S) -> BvStr<'_>
[src]
Retrieve a value as BvStr
pub fn del<S: AsRef<str>>(&mut self, key: S) -> Option<BvObject>
[src]
Delete key and return the deleted object
Trait Implementations
impl<KV> BytesFilter for KvDb<KV> where
KV: KvInterface<Key = BvString, Value = BvObject>,
&'a KV: IntoIterator<Item = (&'a BvString, &'a BvObject)>,
[src]
KV: KvInterface<Key = BvString, Value = BvObject>,
&'a KV: IntoIterator<Item = (&'a BvString, &'a BvObject)>,
fn filter<F>(&self, cb: F) -> Vec<(&BvString, &BvObject)> where
F: Fn((&BvString, &BvObject)) -> bool,
[src]
F: Fn((&BvString, &BvObject)) -> bool,
impl<KV: KvInterface<Key = BvString, Value = BvObject>> BytesSearch for KvDb<KV> where
KV: KvInterface<Key = BvString, Value = BvObject>,
&'a KV: IntoIterator<Item = (&'a BvString, &'a BvObject)>,
[src]
KV: KvInterface<Key = BvString, Value = BvObject>,
&'a KV: IntoIterator<Item = (&'a BvString, &'a BvObject)>,
fn starts_with<S: AsRef<str>>(&self, key_part: S) -> Vec<(&BvString, &BvObject)>
[src]
fn ends_with<S: AsRef<str>>(&self, key_part: S) -> Vec<(&BvString, &BvObject)>
[src]
fn contains<S: AsRef<str>>(&self, key_part: S) -> Vec<(&BvString, &BvObject)>
[src]
impl<KV: Default + KvInterface> Default for KvDb<KV>
[src]
Auto Trait Implementations
impl<KV> RefUnwindSafe for KvDb<KV> where
KV: RefUnwindSafe,
KV: RefUnwindSafe,
impl<KV> Send for KvDb<KV> where
KV: Send,
KV: Send,
impl<KV> Sync for KvDb<KV> where
KV: Sync,
KV: Sync,
impl<KV> Unpin for KvDb<KV> where
KV: Unpin,
KV: Unpin,
impl<KV> UnwindSafe for KvDb<KV> where
KV: UnwindSafe,
KV: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,