public object SampleGetByPrimary(int? id) { var cache = new BlendedCache.BlendedCache(new HttpContextCache(), new RuntimeMemoryCachingVolatileCache(), NullLongTermCache.NullInstance, new BlendedCacheConfiguration()); id = id ?? 42; var dataByInt = cache.Get<SampleData>(id.Value); var dataByString = cache.Get<SampleData>(id.Value.ToString()); var dataByComplex = cache.Get<SampleData, SampleComplexKey>(new SampleComplexKey()); return dataByInt; }
public object SampleGetByCacheKey(int id) { var configuration = new BlendedCacheConfiguration(); configuration.DefaultCacheKeyConverter = DefaultCacheKeyConverter.MyLookupKeyIsTheCacheKey; var cache = new BlendedCache.BlendedCache(new HttpContextCache(), new RuntimeMemoryCachingVolatileCache(), NullLongTermCache.NullInstance, configuration); var cacheKey = "SD." + id; var dataByInt = cache.Get<SampleData>(cacheKey); var dataByString = cache.Get<SampleData>(cacheKey); //complex really doesn't transfer, but it would be some string concat. //var dataByComplex = cache.Get<SampleData, SampleComplexKey>(new SampleComplexKey()); return dataByInt; }
public ActionResult SampleGetByMulti() { var cache = new BlendedCache.BlendedCache(new HttpContextCache(), new RuntimeMemoryCachingVolatileCache(), NullLongTermCache.NullInstance, new BlendedCacheConfiguration()); var ids = new List<int>() { 1, 2, 5 }; //notice being set one at a time. ids.ForEach(x => cache.Set(x, DataBase.GetSampleData(x))); //pulled in one trip. var list = cache.Get<SampleData>(ids); return Content(list.Count.ToString()); }