Webefinity.KeyValueStore (0.0.1-beta01)

Published 2026-07-27 13:42:35 +10:00 by adrian

Installation

dotnet nuget add source --name adrian --username your_username --password your_token 
dotnet add package --source adrian --version 0.0.1-beta01 Webefinity.KeyValueStore

About this package

A persistent generic key-value store with transactional writes, ordered enumeration, and on-disk storage.

KeyValueStore

KeyValueStore is a generic, disk-backed key-value store for .NET 10. It supports transactional writes, ordered key enumeration, optional range queries, and persistent storage on disk.

Package Highlights

  • Generic key type: KeyValueStore<TKey> where TKey : IComparable
  • Get<T>, TryGet<T>, Put<T>, and Delete
  • BeginTransaction() for batched writes
  • ContainsKey() and ordered key enumeration
  • File-backed persistence with WAL-backed recovery
  • Optional node cache and checkpointing controls

Basic Usage

using KeyValueStore;

using var store = new KeyValueStore<string>("./data");

store.Put("name", "Ada");
store.Put("age", 42);

var name = store.Get<string>("name");
var age = store.Get<int>("age");

if (store.TryGet<int>("age", out var value))
{
    Console.WriteLine(value);
}

Transactions

using var store = new KeyValueStore<string>("./data");
using var transaction = store.BeginTransaction();

transaction.Put("feature", true);
transaction.Put("count", 100);
transaction.Commit();

NuGet package settings

This package is configured for an MIT software license using NuGet metadata:

  • PackageLicenseExpression is set to MIT
  • PackageReadmeFile is set to README.md
  • README.md and LICENSE are packed into the .nupkg
  • RepositoryUrl and PackageProjectUrl point to the source repository
  • PackageRequireLicenseAcceptance is disabled for normal open-source distribution

License

This project is licensed under the MIT License. See LICENSE for details.

Dependencies

ID Version Target Framework
Newtonsoft.Json.Bson 1.0.3 net10.0
Details
NuGet
2026-07-27 13:42:35 +10:00
6
KeyValueStore
36 KiB
Assets (2)
Versions (1) View all
0.0.1-beta01 2026-07-27