Shardis 0.1.0-prerelease0025
See the version list below for details.
dotnet add package Shardis --version 0.1.0-prerelease0025
NuGet\Install-Package Shardis -Version 0.1.0-prerelease0025
<PackageReference Include="Shardis" Version="0.1.0-prerelease0025" />
<PackageVersion Include="Shardis" Version="0.1.0-prerelease0025" />
<PackageReference Include="Shardis" />
paket add Shardis --version 0.1.0-prerelease0025
#r "nuget: Shardis, 0.1.0-prerelease0025"
#:package Shardis@0.1.0-prerelease0025
#addin nuget:?package=Shardis&version=0.1.0-prerelease0025&prerelease
#tool nuget:?package=Shardis&version=0.1.0-prerelease0025&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 (7)
Showing the top 5 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). |
|
Shardis.DependencyInjection
Fluent shard registration & per-shard resource factories for Shardis using Microsoft.Extensions.DependencyInjection. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
0.2.2 | 113 | 9/11/2025 |
0.2.2-prerelease0001 | 114 | 9/11/2025 |
0.2.1 | 117 | 9/10/2025 |
0.2.1-prerelease0001 | 124 | 9/9/2025 |
0.2.0 | 147 | 9/8/2025 |
0.1.0-prerelease0086 | 156 | 9/7/2025 |
0.1.0-prerelease0085 | 153 | 9/7/2025 |
0.1.0-prerelease0084 | 145 | 8/31/2025 |
0.1.0-prerelease0083 | 144 | 8/31/2025 |
0.1.0-prerelease0082 | 186 | 8/28/2025 |
0.1.0-prerelease0075 | 184 | 8/28/2025 |
0.1.0-prerelease0067 | 184 | 8/27/2025 |
0.1.0-prerelease0042 | 174 | 8/27/2025 |
0.1.0-prerelease0025 | 199 | 8/26/2025 |
0.1.0-prerelease0024 | 194 | 8/26/2025 |
0.1.0-prerelease0020 | 275 | 8/25/2025 |
Initial release. Full notes: https://github.com/veggerby/shardis/blob/main/CHANGELOG.md#010---2025-08-25