DefaultMemcachedCachingProvider
EasyCaching.Memcached is a memcached caching lib which is based on EasyCaching.Core and EnyimMemcachedCore.
When you use this lib, it means that you will handle the data of your memcached servers. As usual, we will use it as distributed caching.
How to use ?
Basic Usages
1. Install the package via Nuget
Install-Package EasyCaching.Memcached
2. Config in Startup class
public class Startup
{
//...
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
//Important step for Memcached Cache
services.AddEasyCaching(option =>
{
//use memmemcachedory cache
option.UseMemcached(config =>
{
config.DBConfig.AddServer("127.0.0.1", 11211);
});
});
}
}
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");
}
}