Pdsr.Cache.NoCache
3.5.1
dotnet add package Pdsr.Cache.NoCache --version 3.5.1
NuGet\Install-Package Pdsr.Cache.NoCache -Version 3.5.1
<PackageReference Include="Pdsr.Cache.NoCache" Version="3.5.1" />
paket add Pdsr.Cache.NoCache --version 3.5.1
#r "nuget: Pdsr.Cache.NoCache, 3.5.1"
// Install Pdsr.Cache.NoCache as a Cake Addin #addin nuget:?package=Pdsr.Cache.NoCache&version=3.5.1 // Install Pdsr.Cache.NoCache as a Cake Tool #tool nuget:?package=Pdsr.Cache.NoCache&version=3.5.1
Pdsr Cache Helper
A helper library (wrapper) for caching with Redis, MSSQL, ...
What is it?
I have started building several libraries to keep up with the DRY principle, one of them was this lib, helping me to use cache systems.
The first goal this library is keeping Cache requests in one go so I don't have to check if the cache exists, if the cache time has passed, etc.
Getting Started
you need to install the package, add to DI and then use it in services.
- install the package
dotnet add package Pdsr.Cache.Redis
for Redis. - Add the
RedisCacheManager
to DI through the extensionAddRedisCacheManager(c => c.Endpoints = "my-redis:6379")
- Instantiate the
ICacheManager
in your controller or service. - Use any of the Get,Set, ... methods. Async or Sync.
public class MyClass
{
private readonly ICacheManager _cache;
public MyClass(ICacheManager cache) => _cache = cache;
public async Task SomeMethod(CancellationToken cancellationToken = default)
{
var results = await _cache.GetAsync<SomeModel>(
"some-key" , // cache key identifier
async () => // Func<Task<T>> to produce something
{
var model = new SomeModel(); // produce something time consuming
return model;
},
60, // cache time
cancellationToken);
return results;
}
}
Contribute
Please refer to contribute. Some parts definitely needs help.
Documents
Under Creation.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Pdsr.Cache (>= 3.5.1)
-
.NETStandard 2.1
- Pdsr.Cache (>= 3.5.1)
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 |
---|---|---|
3.5.1 | 101 | 10/9/2024 |
3.5.1-beta.1 | 50 | 10/9/2024 |
3.5.0 | 143 | 2/20/2024 |
3.3.1 | 182 | 8/26/2023 |
3.3.0 | 192 | 7/18/2023 |
3.2.1 | 265 | 2/20/2023 |
3.2.0 | 343 | 11/11/2022 |
3.1.8 | 458 | 9/13/2022 |
3.0.7 | 425 | 8/25/2022 |
3.0.6 | 445 | 6/21/2022 |
3.0.5 | 493 | 5/11/2022 |
3.0.4 | 492 | 4/18/2022 |
3.0.3 | 468 | 4/18/2022 |
3.0.2 | 463 | 4/18/2022 |
3.0.1.303 | 452 | 4/17/2022 |
3.0.1.301 | 450 | 4/17/2022 |