public MemcachedProvider(MemcachedSharpClientCluster memcachedCluster, string hashScramble = null) { _memcachedCluster = memcachedCluster; _hashScramble = hashScramble; _serializer = new JsonSerializer { TypeNameHandling = TypeNameHandling.All }; }
public static IContainer Initialize() { var memcachedCluster = new MemcachedSharpClientCluster(new[] { "localhost:11211" }); var proxy = new SleipnerCache <ICrapService>(new CrapService(), new MemcachedProvider <ICrapService>(memcachedCluster)); proxy.Config(a => { a.DefaultIs().CacheFor(10); }); ObjectFactory.Initialize(x => { x.For <ICrapService>().Singleton().Use(proxy.CreateCachedInstance()); }); return(ObjectFactory.Container); }
static async Task MainAsync(string[] args) { var memcachedCluster = new MemcachedSharpClientCluster(new[] { "localhost:11211" }); var service = new CrapService(); var cacheProvider = new MemcachedProvider <ICrapService>(memcachedCluster); var sleipnerProxy = new SleipnerCache <ICrapService>(service, cacheProvider); sleipnerProxy.Config(a => a.DefaultIs().CacheFor(1).DiscardStale()); var cachedService = sleipnerProxy.CreateCachedInstance(); /*while (true) * { * var i13 = await cachedService.GetCrapAsync("", 1); * * await cacheProvider.DeleteAsync(a => a.GetCrapAsync("", 1)); * * var i2 = await cachedService.GetCrapAsync("", 1); * * Console.ReadLine(); * }*/ }