SquidStd.Caching.Abstractions 0.8.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package SquidStd.Caching.Abstractions --version 0.8.0
                    
NuGet\Install-Package SquidStd.Caching.Abstractions -Version 0.8.0
                    
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="SquidStd.Caching.Abstractions" Version="0.8.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SquidStd.Caching.Abstractions" Version="0.8.0" />
                    
Directory.Packages.props
<PackageReference Include="SquidStd.Caching.Abstractions" />
                    
Project file
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 SquidStd.Caching.Abstractions --version 0.8.0
                    
#r "nuget: SquidStd.Caching.Abstractions, 0.8.0"
                    
#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.
#:package SquidStd.Caching.Abstractions@0.8.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SquidStd.Caching.Abstractions&version=0.8.0
                    
Install as a Cake Addin
#tool nuget:?package=SquidStd.Caching.Abstractions&version=0.8.0
                    
Install as a Cake Tool

<p align="center"> <img src="https://raw.githubusercontent.com/tgiachi/squid-std/main/assets/icon.png" alt="SquidStd" width="120" height="120" /> </p>

<h1 align="center">SquidStd.Caching.Abstractions</h1>

<p align="center"> <a href="https://www.nuget.org/packages/SquidStd.Caching.Abstractions/"><img src="https://img.shields.io/nuget/v/SquidStd.Caching.Abstractions.svg" alt="NuGet" /></a> <img src="https://img.shields.io/nuget/dt/SquidStd.Caching.Abstractions.svg" alt="Downloads" /> <a href="https://tgiachi.github.io/squid-std/articles/caching-abstractions.html"><img src="https://img.shields.io/badge/docs-DocFX-1390A3.svg" alt="docs" /></a> <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="license" /> </p>

Backend-agnostic caching contracts for SquidStd. It defines the typed cache-aside facade (ICacheService), the low-level byte provider/metrics contracts, and the shared CacheService facade that applies key-prefixing, default TTL and cache-aside once over any provider. Pick a backend implementation (in-memory or Redis) from a companion package.

Install

dotnet add package SquidStd.Caching.Abstractions

Features

  • ICacheService — typed GetAsync<T> / SetAsync<T> / RemoveAsync / ExistsAsync / GetOrSetAsync<T> facade.
  • ICacheProvider — the raw byte-level backend contract implemented per provider.
  • CacheService — shared facade that serializes values, applies the key prefix and default TTL, and implements cache-aside.
  • ICacheMetrics (+ CacheMetricsProvider, NoOpCacheMetrics) — hit/miss/set/remove metrics.
  • CacheOptions and CacheConnectionString — configuration and connection parsing.

Usage

using SquidStd.Caching.Abstractions.Interfaces;

// Resolve ICacheService from a backend package (in-memory or Redis).
public Task<int> GetOrComputeAsync(ICacheService cache)
    => cache.GetOrSetAsync("answer", _ => Task.FromResult(42), TimeSpan.FromMinutes(5));

Key types

Type Purpose
ICacheService Typed cache-aside facade.
ICacheProvider Byte-level backend contract (per provider).
CacheService Shared facade: serialization, key prefix, default TTL, cache-aside.
ICacheMetrics Hit/miss/set/remove metrics sink.
CacheOptions Default TTL and key prefix.
CacheConnectionString scheme://host[?params] parsing into CacheOptions.

License

MIT — part of SquidStd.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on SquidStd.Caching.Abstractions:

Package Downloads
SquidStd.Caching.Redis

Package Description

SquidStd.Caching

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.37.0 33 7/17/2026
0.36.0 53 7/15/2026
0.35.0 53 7/15/2026
0.34.0 52 7/14/2026
0.33.1 107 7/13/2026
0.33.0 109 7/13/2026
0.32.1 107 7/13/2026
0.32.0 108 7/13/2026
0.31.0 109 7/12/2026
0.30.0 106 7/12/2026
0.29.0 112 7/11/2026
0.28.0 116 7/8/2026
0.27.0 116 7/7/2026
0.26.0 109 7/7/2026
0.25.0 113 7/6/2026
0.24.1 107 7/6/2026
0.24.0 111 7/6/2026
0.23.0 111 7/4/2026
0.22.0 114 7/4/2026
0.8.0 117 6/28/2026
Loading failed