DefaultDiskCachingProvider
Disk is another choice of local caching, the same as LiteDB and SQLite.
EasyCaching.Disk contains most of caching operations that we can use easily.
EasyCaching.Disk is a lib that is based on EasyCaching.Core.
How to use ?
1. Install the package via Nuget
Install-Package EasyCaching.Disk
2. Config in Startup class
public class Startup
{
//...
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
//Important step for SQLite Cache
services.AddEasyCaching(option =>
{
//use disk cache
option.UseDisk(config =>
{
config.DBConfig = new DiskDbOptions { BasePath = Path.GetTempPath() };
});
});
}
}
3. Call the EasyCachingProvider
The following code show how to use EasyCachingProvider in ASP.NET Core Web API.
[Route("api/[controller]")]
public class ValuesController : Controller
{
private readonly IEasyCachingProvider _provider;
public ValuesController(IEasyCachingProvider provider)
{
this._provider = provider;
}
[HttpGet]
public string Get()
{
//Remove
_provider.Remove("demo");
//Set
_provider.Set("demo", "123", TimeSpan.FromMinutes(1));
//Get
var res = _provider.Get("demo", () => "456", TimeSpan.FromMinutes(1));
//Get without data retriever
var res = _provider.Get<string>("demo");
//Remove Async
await _provider.RemoveAsync("demo");
//Set Async
await _provider.SetAsync("demo", "123", TimeSpan.FromMinutes(1));
//Get Async
var res = await _provider.GetAsync("demo",async () => await Task.FromResult("456"), TimeSpan.FromMinutes(1));
//Get without data retriever Async
var res = await _provider.GetAsync<string>("demo");
//RemoveByPrefix
_provider.RemoveByPrefix("prefix");
//RemoveByPrefix async
await _provider.RemoveByPrefixAsync("prefix");
}
}