Eve.Caching provide a simple caching interface. The base library also containes a simple in-memory provider. There is also more extention libraries that impliment this interface for popular caching services like Redis or Memcached.
Nuget package is avalible!
dotnet add package Eve.Cachingdotnet add package Eve.Caching.Redisdotnet add package Eve.Caching.Memcached ICacheProvider<string, object> _cache = new SimpleCacheProvider<object>();
_cache.Cache("test", new { message = "Hello World!" });
Console.WriteLine((string)_cache.Get<dynamic>("test").message); string cnn = "127.0.0.1:6379,defaultDatabase=0";
ICacheProvider<string, object> _cache = new RedisCacheProvider<object>(StackExchange.Redis.ConfigurationOptions.Parse(cnn));
_cache.Cache("test", new { message = "Hello World!" });
Console.WriteLine((string)_cache.Get<Dictionary<object,object>>("test")["message"]); string cnn = "127.0.0.1:11211";
var cluster = new Enyim.Caching.Memcached.MemcachedCluster(cnn);
cluster.Start();
ICacheProvider<string, object> _cache = new MemcachedCacheProvider<object>(cluster);
_cache.Cache("test", new testclass { message = "Hello World!" });
Console.WriteLine((string)_cache.Get<dynamic>("test").message);
cluster.Dispose();