{"id":18785740,"url":"https://github.com/uzyn/sparkv","last_synced_at":"2026-06-05T05:00:51.417Z","repository":{"id":238653405,"uuid":"797042366","full_name":"uzyn/sparkv","owner":"uzyn","description":"Expirable in-memory key-value store for Rust with no dependencies","archived":false,"fork":false,"pushed_at":"2024-05-09T10:24:28.000Z","size":30,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-10T04:42:45.199Z","etag":null,"topics":["in-memory-database","kv-store","no-dependencies","no-deps","rust","rust-lang","ttl"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/sparkv","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uzyn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-07T04:56:34.000Z","updated_at":"2025-01-14T15:14:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"16ac0144-b25b-4db3-9104-47ed08fc30a2","html_url":"https://github.com/uzyn/sparkv","commit_stats":null,"previous_names":["uzyn/sparkv"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/uzyn/sparkv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzyn%2Fsparkv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzyn%2Fsparkv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzyn%2Fsparkv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzyn%2Fsparkv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uzyn","download_url":"https://codeload.github.com/uzyn/sparkv/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uzyn%2Fsparkv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33930311,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["in-memory-database","kv-store","no-dependencies","no-deps","rust","rust-lang","ttl"],"created_at":"2024-11-07T20:49:33.501Z","updated_at":"2026-06-05T05:00:51.398Z","avatar_url":"https://github.com/uzyn.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SparKV\n\nSparKV is an expirable in-memory key-value store for Rust.\n\n## Features\n\n1. Flexible expiration duration (a.k.a. time-to-live or TTL) per entry instead of database-wide common TTL.\n    1. This is similar to that of DNS where each entries of the same domain can have its own unique TTL.\n2. Automatically clears expired entries by default.\n3. String-based key-value store.\n4. Fast data entry enforcements, including ensuring entry size, database size and max TTL.\n5. SparKV is intentionally not an LRU cache.\n6. Configurable.\n\n## Usage\n\nAdd SparKV crate to your Cargo dependencies:\n\n```sh\n$ cargo add sparkv\n```\n\nQuick start\n\n```rust\nuse sparkv::SparKV;\n\nlet mut sparkv = SparKV::new();\nsparkv.set(\"your-key\", \"your-value\"); // write\nlet value = sparkv.get(\"your-key\").unwrap(); // read\n\n// Write with unique TTL\nsparkv.set_with_ttl(\"diff-ttl\", \"your-value\", std::time::Duration::from_secs(60));\n```\n\nSee `config.rs` for more configuration options.\n\n\n## TODO\n\n1. Documentations\n1. Support generic data types\n\n## License\n\nMIT License\u003cbr\u003e\nCopyright © 2024 U-Zyn Chua\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuzyn%2Fsparkv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuzyn%2Fsparkv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuzyn%2Fsparkv/lists"}