microservice.toolkit.cachemanager
0.7.0
See the version list below for details.
dotnet add package microservice.toolkit.cachemanager --version 0.7.0
NuGet\Install-Package microservice.toolkit.cachemanager -Version 0.7.0
<PackageReference Include="microservice.toolkit.cachemanager" Version="0.7.0" />
paket add microservice.toolkit.cachemanager --version 0.7.0
#r "nuget: microservice.toolkit.cachemanager, 0.7.0"
// Install microservice.toolkit.cachemanager as a Cake Addin #addin nuget:?package=microservice.toolkit.cachemanager&version=0.7.0 // Install microservice.toolkit.cachemanager as a Cake Tool #tool nuget:?package=microservice.toolkit.cachemanager&version=0.7.0
Cache manager
The library is a work in progress. It is not yet considered production-ready.
Common interface to manage cache using different providers.
How to install
Package Manager
Install-Package microservice.toolkit.cachemanager -Version 0.7.0
.NET CLI
dotnet add package microservice.toolkit.cachemanager --version 0.7.0
Package Reference
<PackageReference Include="microservice.toolkit.cachemanager" Version="0.7.0" />
Available methods
Set(string, string, long);
Task<bool> Set(string key, string value, long issuedAt);
Adds an entry in the cache provider with an expiration time (UTC Unix timestamp in milliseconds).
// 2 days until expiration time
var issuedAt = DateTimeOffset.UtcNow.AddDays(2).ToUnixTimeMilliseconds()
Set(string, string);
Task<bool> Set(string key, string value);
Adds an entry in the cache provider without an expiration time.
Get(string);
Task<string> Get(string key);
Tries to retrieve the value of the entry using the key. If the entry does not exist or is expired the method returns null.
Delete(string);
Task<bool> Delete(string key);
Removed the entry from the cache provider.
Implementations
SQLite cache manager
<a name="sqlite"></a> To start using SQLite cache manager, first install the required package:
<PackageReference Include="Microsoft.Data.SQLite" Version="5.0.10" />
and create the table cache:
CREATE TABLE cache(
id TEXT PRIMARY KEY,
value TEXT NOT NULL,
issuedAt INTEGER NOT NULL
);
MySQL cache manager
<a name="mysql"></a> To start using MySql cache manager, first install the required package:
<PackageReference Include="MySqlConnector" Version="1.3.12" />
and create the table cache:
CREATE TABLE cache(
id VARCHAR(256) PRIMARY KEY,
value TEXT NOT NULL,
issuedAt BIGINT NOT NULL
);
Memcached
<a name="memcached"></a> To start using Memcached cache manager, first install the required package:
<PackageReference Include="Enyim.Memcached2" Version="0.6.8" />
How to use:
var manager = new MemcachedCacheManager("localhost:11211");
Or, if you are using a cluster:
var manager = new MemcachedCacheManager("localhost:11211,localhost:11212");
Redis
<a name="redis"></a> To start using Redis cache manager, first install the required package:
<PackageReference Include="StackExchange.Redis" Version="2.2.62" />
How to use:
var manager = new RedisCacheManager("localhost:6379");
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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. |
-
net6.0
- microservice.toolkit.connectionmanager (>= 0.7.0)
- microservice.toolkit.core (>= 0.7.0)
- Microsoft.Extensions.Logging.Abstractions (>= 6.0.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 |
---|---|---|
2.0.1 | 96 | 7/30/2024 |
2.0.0 | 85 | 7/28/2024 |
1.1.1 | 104 | 7/19/2024 |
1.1.0 | 86 | 7/19/2024 |
1.0.0 | 94 | 6/10/2024 |
0.11.2 | 129 | 4/6/2024 |
0.11.1 | 108 | 3/30/2024 |
0.11.0 | 100 | 3/30/2024 |
0.10.2 | 258 | 3/15/2023 |
0.10.1 | 344 | 1/18/2023 |
0.10.0 | 294 | 1/11/2023 |
0.9.1 | 372 | 11/22/2022 |
0.9.0 | 373 | 11/16/2022 |
0.8.0 | 485 | 10/12/2022 |
0.7.0 | 451 | 4/28/2022 |
0.6.2 | 438 | 2/28/2022 |
0.6.1 | 427 | 2/21/2022 |
0.6.0 | 469 | 1/15/2022 |
0.5.0 | 294 | 12/8/2021 |
0.4.9 | 306 | 12/2/2021 |
0.4.8 | 305 | 12/2/2021 |
0.4.7 | 301 | 12/2/2021 |
0.4.6 | 311 | 12/1/2021 |
0.4.5 | 3,387 | 11/25/2021 |
0.4.4 | 295 | 11/2/2021 |
0.4.3 | 300 | 11/2/2021 |
0.4.2 | 386 | 10/27/2021 |
0.4.1 | 353 | 10/21/2021 |
0.4.0 | 489 | 10/3/2021 |