Expand description
sourisdb is a crate designed to provide a size-optimised way of transmitting a key-value store. There are a variety of methods used to achieve this goal ranging from variable-size integers to niche optimisations all detailed within values::Value.
The expected use-case is for web - in testing I’ve found this to be far more efficient than JSON whilst preserving type information AND providing additional types. Typically, SourisDB stores take around 25% less space than JSON objects even when minified.
sourisdb can also be used for storage on-disk as it is entirely byte-order-agnostic as it deliberately stores everything using little-endian bytes.
Re-exports§
pub use chrono;pub use chrono_tz;pub use hashbrown;pub use serde_json;
Modules§
- axum
- This module provides utilities for use with
axumand requires theaxumfeature to be enabled. - client
- A module that provides one sync and one async client for use with the
sourisdAPI. - store
- Provides the main key-value store designed to be used for communications.
- types
- This is a module to contain types that have complicated serialisation logic.
- utilities
- A collection of utilities for use with
sourisdb. - values