Pomelo.Extensions.Caching.MySqlConfig.Tools
2.2.0
dotnet tool install --global Pomelo.Extensions.Caching.MySqlConfig.Tools --version 2.2.0
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local Pomelo.Extensions.Caching.MySqlConfig.Tools --version 2.2.0
#tool dotnet:?package=Pomelo.Extensions.Caching.MySqlConfig.Tools&version=2.2.0
nuke :add-package Pomelo.Extensions.Caching.MySqlConfig.Tools --version 2.2.0
Caching-MySQL
Basing on https://learn.microsoft.com/en-us/aspnet/core/performance/caching/distributed and modified accordingly:
Distributed MySQL Server Cache
The Distributed MySQL Server Cache implementation (AddDistributedMySqlCache) allows the distributed cache to use a MySQL Server database as its backing store. To create a MySQL Server cached item table in a MySQL Server instance, you can use the dotnet-mysql-cache
tool. The tool creates a table with the name and schema that you specify.
Create a table in MySQL Server by running the dotnet mysql-cache create
command. Provide the MySQL Server connection string, instance (for example server=192.169.0.1
), table name (for example, NewTableName
) and optional database (for example, MyDatabaseName
):
dotnet mysql-cache create "server=192.169.0.1;user id=userName;password=P4ssword123!;port=3306;database=MyDatabaseName;Allow User Variables=True" "NewTableName" --databaseName "MyDatabaseName"
A message is logged to indicate that the tool was successful:
Table and index were created successfully.
The table created by the dotnet-mysql-cache
tool has the following schema:
[!NOTE] An app should manipulate cache values using an instance of IDistributedCache, not any other.
The example snippet how to implement MySql Server cache in Program.cs
:
builder.Services.AddDistributedMySqlCache(options =>
{
options.ConnectionString = builder.Configuration.GetConnectionString("DistCache_ConnectionString");
options.SchemaName = "MyDatabaseName"; //optional
options.TableName = "NewTableName"; //required
});
[!NOTE] A ConnectionString (and optionally, SchemaName and TableName) are typically stored outside of source control (for example, stored by the Secret Manager or in
appsettings.json
/appsettings.{Environment}.json
files). The connection string may contain credentials that should be kept out of source control systems.
Use the distributed cache
One can use same technique as described in this section Use the distributed cache
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. |
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
2.2.0 | 291 | 5/17/2024 |
2.1.1 | 550 | 4/17/2023 |
2.1.0 | 722 | 12/6/2020 |
2.0.3 | 1,132 | 4/20/2020 |
2.0.2 | 696 | 2/26/2019 |
2.0.1 | 787 | 12/9/2018 |
2.0.0-final | 830 | 3/13/2018 |
1.0.0-preview2-final | 2,051 | 7/26/2017 |
1.0.0-preview1-final | 779 | 7/25/2017 |