redis_rocksdb 0.3.9

rust implement structure kv(key/value) embedded database, storage by rocksdb
Documentation
#[derive(Clone, Eq, PartialEq, Debug)]
pub struct DbKey {
	data: [u8; DbKey::LEN_DB_KEY],
}

impl From<&[u8]> for DbKey {
	fn from(value: &[u8]) -> Self {
		if value.len() > DbKey::LEN_DB_KEY {
			DbKey { data: value[0..DbKey::LEN_DB_KEY].try_into().expect("") }
		} else if value.len() == DbKey::LEN_DB_KEY {
			DbKey { data: value.try_into().expect("") }
		} else {
			panic!("the db key is less 12")
		}
	}
}

impl DbKey {
	pub const LEN_DB_KEY: usize = 12;
	pub const ZERO_KEY: [u8; DbKey::LEN_DB_KEY] = [0; DbKey::LEN_DB_KEY];
	pub fn key(&self) -> &[u8] {
		&self.data
	}
}