Skip to content

Owez/tinydb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TinyDB

NOTE: This project is not affiliated with the Python TinyDB, accidental naming error from when this project was started. See renaming for updates

TinyDB or tinydb is a small-footprint, superfast database designed to be used in-memory and easily dumped/retrieved from a file when it's time to save ✨

This database aims to provide an easy frontend to an efficiant in-memory database (that can also be dumped to a file). It purposefully disallows duplicate items to be sorted due to constraints with hash tables.

Example 🚀

A simple example of adding a structure then querying for it:

use serde::{Serialize, Deserialize};
use tinydb::Database;

#[derive(Debug, Eq, PartialEq, Hash, Serialize, Deserialize, Clone)]
struct ExampleStruct {
    my_age: i32
}

fn main() {
    let my_struct = ExampleStruct { my_age: 329 };
    let mut my_db = Database::new("query_test", None, false);

    my_db.add_item(my_struct.clone());

    let results = my_db.query_item(|s: &ExampleStruct| &s.my_age, 329);

    assert_eq!(results.unwrap(), &my_struct);
}

Installation

Simply add the following to your Cargo.toml file:

[dependencies]
tinydb = "1"

About

A small-footprint, in-memory database.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages