Pomelo.Extensions.Caching.MySql 2.2.0

dotnet add package Pomelo.Extensions.Caching.MySql --version 2.2.0                
NuGet\Install-Package Pomelo.Extensions.Caching.MySql -Version 2.2.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="Pomelo.Extensions.Caching.MySql" Version="2.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Pomelo.Extensions.Caching.MySql --version 2.2.0                
#r "nuget: Pomelo.Extensions.Caching.MySql, 2.2.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.
// Install Pomelo.Extensions.Caching.MySql as a Cake Addin
#addin nuget:?package=Pomelo.Extensions.Caching.MySql&version=2.2.0

// Install Pomelo.Extensions.Caching.MySql as a Cake Tool
#tool nuget:?package=Pomelo.Extensions.Caching.MySql&version=2.2.0                

Caching-MySQL

AppVeyor build status NuGet

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:

MySQL Server Cache Table

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

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Pomelo.Extensions.Caching.MySql:

Package Downloads
SuperiorAcumaticaPackage

Dependencies required to compile the SuperiorAcumaticaSolution for Acumatica 2024 R2 Build 24.204.0004

Route4MeDbLibrary

The library enables to create/use different engine databases for consuming Route4Me system. Supported database engines: - MsSql (SqlExpress, LocalDb) - MySql - PostgrSql - SQLite The library is done in the c# (.net core) envirnoment and it's platform-independent.

Pavalisoft.Caching.MySql

Pavalisoft.Caching.MySql is a MySql Cache store implementation of Pavalisoft.Caching

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Pomelo.Extensions.Caching.MySql:

Repository Stars
simpleidserver/SimpleIdServer
OpenID, OAuth 2.0, SCIM2.0, UMA2.0, FAPI, CIBA & OPENBANKING Framework for ASP.NET Core
Version Downloads Last updated
2.2.0 35,453 5/17/2024
2.1.4 45,606 6/27/2023
2.1.3 7,343 4/17/2023
2.1.2 101,752 9/13/2021
2.1.1 4,741 4/2/2021
2.1.0 2,139 12/6/2020
2.0.4 42,295 12/28/2021
2.0.3 37,147 4/20/2020
2.0.2 4,381 12/2/2019
2.0.1 10,232 12/9/2018
2.0.0-final 1,776 3/13/2018
1.0.0-preview1-final 1,860 7/25/2017