CacheWeaver 0.0.1-alpha.1
dotnet add package CacheWeaver --version 0.0.1-alpha.1
NuGet\Install-Package CacheWeaver -Version 0.0.1-alpha.1
<PackageReference Include="CacheWeaver" Version="0.0.1-alpha.1" />
<PackageVersion Include="CacheWeaver" Version="0.0.1-alpha.1" />
<PackageReference Include="CacheWeaver" />
paket add CacheWeaver --version 0.0.1-alpha.1
#r "nuget: CacheWeaver, 0.0.1-alpha.1"
#:package CacheWeaver@0.0.1-alpha.1
#addin nuget:?package=CacheWeaver&version=0.0.1-alpha.1&prerelease
#tool nuget:?package=CacheWeaver&version=0.0.1-alpha.1&prerelease
CacheWeaver
Automatic cache dependency management for EF Core over HybridCache.
⚠️ Status: pre-release / under active development.
What it will do
CacheWeaver caches EF Core query results and invalidates them automatically when the underlying data changes.
// Cache a query — tags are derived automatically from the query itself
var order = await db.Orders
.Where(o => o.CustomerId == customerId)
.Cached()
.ToListAsync();
// A later SaveChanges() that touches matching rows
// invalidates exactly the affected cache entries.
Under the hood:
- Query analysis — entity types and supported predicates are extracted from the LINQ expression tree before execution and turned into cache tags (
Order:42,Order:CustomerId=5,Order:*). - Graceful degradation — queries the analyzer can't fully understand are still cached safely, escalating to coarser type-level tags instead of failing. Correct-but-coarse is the invariant; a strict rejection mode is opt-in.
- Transaction-aware invalidation — invalidations are buffered per transaction and only fire after commit; rollbacks discard them.
- Substrate-agnostic — targets the abstract
HybridCacheAPI. Works with the default implementation or with FusionCache via itsAsHybridCache()adapter for bounded cross-instance staleness.
Consistency model
Tags are the precision mechanism; a mandatory short TTL ceiling bounds worst-case staleness in multi-instance deployments. Details will be documented with the first preview.
Background
CacheWeaver is developed as part of a Master's thesis in Web Engineering at FIT CTU in Prague. The design documents and evaluation methodology will be published alongside the thesis.
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|