Skip to content

Yeganloo/Eve.Caching

Repository files navigation

Eve.Caching

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.

Installing Module

Nuget package is avalible!

Base library

dotnet add package Eve.Caching

Redis provider

dotnet add package Eve.Caching.Redis

Memcached provider

dotnet add package Eve.Caching.Memcached

Simple usage

Simple provider

    ICacheProvider<string, object> _cache = new SimpleCacheProvider<object>();
    _cache.Cache("test", new { message = "Hello World!" });
    Console.WriteLine((string)_cache.Get<dynamic>("test").message);

Redis Provider

    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"]);

Memcached Provider

    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();

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages