NTDLS.KitKey.Server
1.0.1
See the version list below for details.
dotnet add package NTDLS.KitKey.Server --version 1.0.1
NuGet\Install-Package NTDLS.KitKey.Server -Version 1.0.1
<PackageReference Include="NTDLS.KitKey.Server" Version="1.0.1" />
paket add NTDLS.KitKey.Server --version 1.0.1
#r "nuget: NTDLS.KitKey.Server, 1.0.1"
// Install NTDLS.KitKey.Server as a Cake Addin #addin nuget:?package=NTDLS.KitKey.Server&version=1.0.1 // Install NTDLS.KitKey.Server as a Cake Tool #tool nuget:?package=NTDLS.KitKey.Server&version=1.0.1
KitKey
Ever wondered what it would be like if Redis hadn't become a fat beast? Well, we wanted to keep it simple and really target the .net environment... so we wrote KitKey!
A low latency, high-performance, and reliable persistent or ephemeral key-value store over TCP/IP.
KitKey utilizes RocksDB for persistence, wrapped in a partitioned memory cache for level-1 caching.
You can run the KitKey server either from the nuget package or by downloading the dedicated service installer
Nuget Packages
- Server: https://www.nuget.org/packages/NTDLS.KitKey.Server
- Client: https://www.nuget.org/packages/NTDLS.KitKey.Client
Server
Besides running the dedicated service using the installer, you can run the server from code:
var serverConfig = new KkServerConfiguration()
{
PersistencePath = Path.GetDirectoryName(Environment.ProcessPath)
};
var server = new KkServer(serverConfig);
server.Start(KkDefaults.DEFAULT_KEYSTORE_PORT);
Console.WriteLine("Press [enter] to stop.");
Console.ReadLine();
server.Stop();
Client
The client is quite configurable, but the basic connection, store creation and get, set, delete it straight forward.
var client = new KkClient();
client.Connect("localhost", KkDefaults.DEFAULT_KEYSTORE_PORT);
client.CreateStore("MyFirstStore");
for (int i = 0; i < 100000; i++)
{
var randomKey = Guid.NewGuid().ToString().Substring(0, 4);
var randomValue = Guid.NewGuid().ToString();
client.Set("MyFirstStore", randomKey, randomValue);
}
Console.WriteLine("Press [enter] to stop.");
Console.ReadLine();
client.Disconnect();
Getting, setting, and deleting a value from the key store server.
//Set a value:
client.Set("MyFirstStore", "Key_Name", "Some text value");
//Get a value:
var value = client.Get("MyFirstStore", "Key_Name");
//Delete a value:
client.Delete("MyFirstStore", "Key_Name");
Screenshots
License
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- NTDLS.FastMemoryCache (>= 1.9.0)
- NTDLS.KitKey.Shared (>= 1.0.1)
- RocksDB (>= 9.7.3.54622)
-
net9.0
- NTDLS.FastMemoryCache (>= 1.9.0)
- NTDLS.KitKey.Shared (>= 1.0.1)
- RocksDB (>= 9.7.3.54622)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial release.