diff --git a/docs/Disk.md b/docs/Disk.md new file mode 100644 index 00000000..cae1cdc4 --- /dev/null +++ b/docs/Disk.md @@ -0,0 +1,91 @@ +# 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 + +```csharp +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. + +```csharp +[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("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("demo"); + + //RemoveByPrefix + _provider.RemoveByPrefix("prefix"); + + //RemoveByPrefix async + await _provider.RemoveByPrefixAsync("prefix"); + } +} +``` diff --git a/docs/LiteDB.md b/docs/LiteDB.md index 96a06a9d..f31beb6d 100644 --- a/docs/LiteDB.md +++ b/docs/LiteDB.md @@ -29,7 +29,7 @@ public class Startup //Important step for SQLite Cache services.AddEasyCaching(option => { - //use sqlite cache + //use litedb cache option.UseLiteDB(config => { config.DBConfig = new LiteDBDBOptions { FileName = "s1.ldb" }; diff --git a/mkdocs.yml b/mkdocs.yml index 15d0f4fa..2417d287 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -12,6 +12,8 @@ pages: - Memcached : Memcached.md - SQLite : SQLite.md - Hybird : Hybrid.md + - Disk : Disk.md + - LiteDB : LiteDB.md # - ProviderFactory : ProviderFactory.md - Provider Factory: - Overview : FactoryOverview.md