Shardis 0.1.0-prerelease0075
See the version list below for details.
dotnet add package Shardis --version 0.1.0-prerelease0075
NuGet\Install-Package Shardis -Version 0.1.0-prerelease0075
<PackageReference Include="Shardis" Version="0.1.0-prerelease0075" />
<PackageVersion Include="Shardis" Version="0.1.0-prerelease0075" />
<PackageReference Include="Shardis" />
paket add Shardis --version 0.1.0-prerelease0075
#r "nuget: Shardis, 0.1.0-prerelease0075"
#:package Shardis@0.1.0-prerelease0075
#addin nuget:?package=Shardis&version=0.1.0-prerelease0075&prerelease
#tool nuget:?package=Shardis&version=0.1.0-prerelease0075&prerelease
Shardis Core
Core primitives for the Shardis sharding framework.
Features
- Consistent hashing & default modulo routing
- Virtual node replication (configurable factor, max 10,000)
- Pluggable key and ring hashers
- Shard map stores (in-memory, external via extension packages)
- Atomic compare-and-set assignment (
TryAssignShardToKey
,TryGetOrAdd
) - Broadcasting & async merge/ordered enumerators
- Metrics abstraction (single-miss invariant)
- Migration scaffolding
Installation
dotnet add package Shardis
Quick Start
services.AddShardis<MyShard, string, Session>(o =>
{
o.Shards.Add(new MyShard("shard-a"));
o.Shards.Add(new MyShard("shard-b"));
});
Resolve a shard for a key:
var router = provider.GetRequiredService<IShardRouter<string, Session>>();
var shard = router.RouteToShard(new ShardKey<string>("user-123"));
Documentation
Full docs: https://github.com/veggerby/shardis
License
MIT
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. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.Extensions.DependencyInjection (>= 9.0.8)
-
net9.0
- Microsoft.Extensions.DependencyInjection (>= 9.0.8)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Shardis:
Package | Downloads |
---|---|
Shardis.Marten
Marten integration for Shardis: per-shard sessions and query execution adapter. |
|
Shardis.Redis
Redis-backed shard map store for Shardis (atomic CAS & TryGetOrAdd) enabling deterministic key to shard assignments. |
|
Shardis.Query
Core query primitives (merge enumerators, LINQ MVP scaffolding) used by Shardis provider packages. |
|
Shardis.Migration
Shardis key migration execution primitives (planner, executor, metrics hooks, in-memory implementations). |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
0.1.0-prerelease0084 | 116 | 8/31/2025 |
0.1.0-prerelease0083 | 115 | 8/31/2025 |
0.1.0-prerelease0082 | 157 | 8/28/2025 |
0.1.0-prerelease0075 | 157 | 8/28/2025 |
0.1.0-prerelease0067 | 158 | 8/27/2025 |
0.1.0-prerelease0042 | 158 | 8/27/2025 |
0.1.0-prerelease0025 | 181 | 8/26/2025 |
0.1.0-prerelease0024 | 176 | 8/26/2025 |
0.1.0-prerelease0020 | 255 | 8/25/2025 |
Initial release. Full notes: https://github.com/veggerby/shardis/blob/main/CHANGELOG.md#010---2025-08-25