Stebet.Nats.DistributedCache
0.1.6-Preview
This is a prerelease version of Stebet.Nats.DistributedCache.
There is a newer prerelease version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Stebet.Nats.DistributedCache --version 0.1.6-Preview
NuGet\Install-Package Stebet.Nats.DistributedCache -Version 0.1.6-Preview
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Stebet.Nats.DistributedCache" Version="0.1.6-Preview" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Stebet.Nats.DistributedCache" Version="0.1.6-Preview" />
<PackageReference Include="Stebet.Nats.DistributedCache" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Stebet.Nats.DistributedCache --version 0.1.6-Preview
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Stebet.Nats.DistributedCache, 0.1.6-Preview"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Stebet.Nats.DistributedCache&version=0.1.6-Preview&prerelease
#tool nuget:?package=Stebet.Nats.DistributedCache&version=0.1.6-Preview&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Stebet.Nats.DistributedCache
A distributed cache implementation for .NET Core using NATS 2.11 or higher as the backing store. This package provides a simple way to integrate NATS-based distributed caching into your ASP.NET Core applications.
Features
- Implementation of the
IDistributedCache
interface- REQUIRES NATS Server 2.11 OR HIGHER
- Sliding expiration is not currently supported
Installation
Install the package from NuGet:
dotnet add package Stebet.Nats.DistributedCache
Or via the NuGet Package Manager:
Install-Package Stebet.Nats.DistributedCache
Basic Usage
Add to services in Program.cs or Startup.cs
using Stebet.Nats.DistributedCache;
...
// Add a NATS connection (see https://www.nuget.org/packages/NATS.Extensions.Microsoft.DependencyInjection)
builder.services.AddNatsClient(nats => nats.ConfigureOptions(opts => opts with { Url = "nats://localhost:4222" }));
// Add NATS distributed cache
builder.Services.AddNatsDistributedCache(options =>
{
options.BucketName = "MyCacheBucket";
});
...
Use the cache in your controllers or services
using Microsoft.Extensions.Caching.Distributed;
public class WeatherController : Controller
{
private readonly IDistributedCache _cache;
public WeatherController(IDistributedCache cache)
{
_cache = cache;
}
public async Task<IActionResult> GetForecast(string location)
{
var cacheKey = $"weather:{location}";
// Try to get from cache first
var cachedForecast = await _cache.GetStringAsync(cacheKey);
if (cachedForecast != null)
{
return Ok(JsonSerializer.Deserialize<WeatherForecast>(cachedForecast));
}
// Cache miss - get from service
var forecast = await _weatherService.GetForecastAsync(location);
// Save to cache with expiration
var options = new DistributedCacheEntryOptions
{
AbsoluteExpirationRelativeToNow = TimeSpan.FromHours(1)
};
await _cache.SetStringAsync(
cacheKey,
JsonSerializer.Serialize(forecast),
options);
return Ok(forecast);
}
}
License
This project is licensed under the MIT License - see the LICENSE file for details.
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 was computed. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Microsoft.Extensions.Caching.Abstractions (>= 9.0.3)
- Microsoft.Extensions.Options (>= 9.0.3)
- NATS.Client.KeyValueStore (>= 2.6.0-preview.2)
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 |
---|---|---|
0.1.10-Preview | 75 | 3/21/2025 |
0.1.9-Preview | 66 | 3/21/2025 |
0.1.7-Preview | 107 | 3/18/2025 |
0.1.6-Preview | 105 | 3/18/2025 |
0.1.5-Preview | 107 | 3/18/2025 |