Crate sourisdb

Crate sourisdb 

Source
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 axum and requires the axum feature to be enabled.
client
A module that provides one sync and one async client for use with the sourisd API.
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

Functions§

display_bytes_as_hex_array