- Notifications
You must be signed in to change notification settings - Fork333
💥 EasyCaching is an open source caching library that contains basic usages and some advanced usages of caching which can help us to handle caching more easier!
License
dotnetcore/EasyCaching
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
EasyCaching is an open-source caching library that contains basic usages and some advanced usages of caching which can help us to handle caching more easily!
Platform | Build Server | Master Status | Dev Status |
---|---|---|---|
Github Action | Linux/Windows |
Choose caching provider that you need and install it via Nuget.
Install-Package EasyCaching.InMemoryInstall-Package EasyCaching.RedisInstall-Package EasyCaching.SQLiteInstall-Package EasyCaching.MemcachedInstall-Package EasyCaching.FasterKv
Each caching provider has it's own configuration options.
Here is a sample configuration for InMemory and Redis caching provider.
publicclassStartup{//...publicvoidConfigureServices(IServiceCollectionservices){//configurationservices.AddEasyCaching(options=>{//use memory cache that named defaultoptions.UseInMemory("default");// // use memory cache with your own configuration// options.UseInMemory(config =>// {// config.DBConfig = new InMemoryCachingOptions// {// // scan time, default value is 60s// ExpirationScanFrequency = 60,// // total count of cache items, default value is 10000// SizeLimit = 100// };// // the max random second will be added to cache's expiration, default value is 120// config.MaxRdSecond = 120;// // whether enable logging, default is false// config.EnableLogging = false;// // mutex key's alive time(ms), default is 5000// config.LockMs = 5000;// // when mutex key alive, it will sleep some time, default is 300// config.SleepMs = 300;// }, "m2");//use redis cache that named redis1options.UseRedis(config=>{config.DBConfig.Endpoints.Add(newServerEndPoint("127.0.0.1",6379));},"redis1").WithMessagePack()//with messagepack serialization;});}}
[Route("api/[controller]")]publicclassValuesController:Controller{// //when using single provider// private readonly IEasyCachingProvider _provider;//when using multiple providerprivatereadonlyIEasyCachingProviderFactory_factory;publicValuesController(//IEasyCachingProvider provider,IEasyCachingProviderFactoryfactory){//this._provider = provider;this._factory=factory;}[HttpGet]publicstringHandle(){//var provider = _provider;//get the provider from factory with its namevarprovider=_factory.GetCachingProvider("redis1");//Setprovider.Set("demo","123",TimeSpan.FromMinutes(1));//Set Asyncawaitprovider.SetAsync("demo","123",TimeSpan.FromMinutes(1));}}
Detailed EasyCaching documentation can be foundhere.
Package Name | Downloads | Description |
---|---|---|
EasyCaching.Extensions.EasyCompressor | Compress your cache objects to speedup transferring data over network, reduce bandwidth usage, and memory usage of cache server | |
EasyCaching.Extensions | EasyCaching integration for CAP, WebApiClient, IDistributedCache, ... |
Seesample
SeeToDo List
Pull requests, issues and commentary!
About
💥 EasyCaching is an open source caching library that contains basic usages and some advanced usages of caching which can help us to handle caching more easier!
Topics
Resources
License
Code of conduct
Uh oh!
There was an error while loading.Please reload this page.