static When_cache_created_with_desktop_factory() { var types = new List <Type> { typeof(TestObject), typeof(SomeData), typeof(SomeData2) }; var cache = DesktopCacheFactory.GetCache(types, PerfCacheName).Result; }
public async Task custom_container_and_config_cache_construction_should_work() { var cacheContainer = new CacheContainer(); cacheContainer.Register <ILogger, NLogCacheLogger>().WithValue("name", "CacheLogger"); cacheContainer.Register <IVersionProvider, EntryAssemblyVersionProvider>(); cacheContainer.Register <IStorage, DesktopStorage>().WithValue("cacheName", "someCacheName"); cacheContainer.Register <ISerializer, ProtoBufSerializer>().WithDependency("storage", typeof(IStorage).FullName).WithValue("userTypes", null); var cacheConfig = new CacheConfiguration(1024, 5, 1024, 5, TimeSpan.FromMinutes(1)); var cache = await DesktopCacheFactory.GetCache(cacheContainer, cacheConfig); await cache.Set("key1", "stringValue"); cache.Size.Should().BeGreaterThan(0); cache.Count.Should().Be(1); cache.Get <string>("key1").Result.Value.Should().Be("stringValue"); await cache.Remove("key1"); cache.Count.Should().Be(0); cache.Size.Should().Be(0); cache.Get <string>("key1").Result.Should().BeNull(); await cache.Clear(); }
public async Task PerfCreateEmptyCache() { var sw = Stopwatch.StartNew(); var cache = await DesktopCacheFactory.GetCache(null, PerfCacheName); sw.Stop(); Console.WriteLine("Elapsed:" + sw.ElapsedMilliseconds); }
public static async Task PrepareCache(int N) { var constractCachename = "construct_cache"; await PerformanceWrite.Write100KbByteArrays(N, constractCachename); var sw = Stopwatch.StartNew(); var cache = await DesktopCacheFactory.GetCache(null, constractCachename); cache.Size.Should().BeGreaterThan(0); sw.Stop(); Console.WriteLine("Elapsed on PrepareCache:" + sw.ElapsedMilliseconds); }
public static async Task PrepareCache(int N) { var constructCachename = "construct_cache" + N; Write100UserTypesArrays(N, constructCachename).Wait(); var sw = Stopwatch.StartNew(); using (var cache = await DesktopCacheFactory.GetCache(null, constructCachename)) { cache.Size.Should().BeGreaterThan(0); sw.Stop(); Console.WriteLine("Elapsed on PrepareCache:" + sw.ElapsedMilliseconds); } }
public async Task named_cache_construction_should_work() { var cache = await DesktopCacheFactory.GetCache(null, "cache2"); await cache.Set("key1", "stringValue"); cache.Size.Should().BeGreaterThan(0); cache.Count.Should().Be(1); cache.Get <string>("key1").Result.Value.Should().Be("stringValue"); await cache.Remove("key1"); cache.Count.Should().Be(0); cache.Size.Should().Be(0); cache.Get <string>("key1").Result.Should().BeNull(); await cache.Clear(); }
public static async Task Write100UserTypesArrays(int numberOfChunks, string cacheName = null) { var userTypeArrays = PerfHelpers.GetUserTypeArrays(numberOfChunks); using (var cache = await DesktopCacheFactory.GetCache(null, cacheName ?? PerfCacheName + numberOfChunks)) { await cache.Clear(); var sw = Stopwatch.StartNew(); for (var i = 0; i < userTypeArrays.Length; i++) { cache.Set(i.ToString(), userTypeArrays[i]).Wait(); } sw.Stop(); Console.WriteLine("Elapsed:" + sw.ElapsedMilliseconds); } }
public async Task custom_config_cache_construction_should_work() { var cacheConfig = new CacheConfiguration(1024, 5, 1024, 5, TimeSpan.FromMinutes(1)); var cache = await DesktopCacheFactory.GetCache(cacheConfig, null, "cache2"); await cache.Set("key1", "stringValue"); cache.Size.Should().BeGreaterThan(0); cache.Count.Should().Be(1); cache.Get <string>("key1").Result.Value.Should().Be("stringValue"); await cache.Remove("key1"); cache.Count.Should().Be(0); cache.Size.Should().Be(0); cache.Get <string>("key1").Result.Should().BeNull(); await cache.Clear(); }
public static async Task Get100KbByteArrays(int numberOfChunks) { var userTypeArrays = PerfHelpers.GetUserTypeArrays(numberOfChunks); var cache = await DesktopCacheFactory.GetCache(null, "cache_03"); await cache.Clear(); var length = userTypeArrays.Length; for (var i = 0; i < length; i++) { cache.Set(i.ToString(), userTypeArrays[i]).Wait(); } var sw = Stopwatch.StartNew(); for (var i = 0; i < length; i++) { var value = await cache.Get <TestObject>(i.ToString()); } sw.Stop(); Console.WriteLine("Elapsed on get:" + sw.ElapsedMilliseconds); }
public static async Task Get100KbByteArrays(int numberOfChunks) { var byteArrays = PerfHelpers.GetByteArrays(numberOfChunks); var cache = await DesktopCacheFactory.GetCache(null, PerfCacheName); await cache.Clear(); var length = byteArrays.Length; for (var i = 0; i < length; i++) { cache.Set(i.ToString(), byteArrays[i]).Wait(); } var sw = Stopwatch.StartNew(); for (var i = 0; i < length; i++) { cache.Get <byte[]>(i.ToString()).Wait(); //bytes.Value.Should().HaveCount(102400); } sw.Stop(); Console.WriteLine("Elapsed on get:" + sw.ElapsedMilliseconds); }
public async Task usesr_types_storing_cache_construction_should_work() { var types = new List <Type> { typeof(SomeData), typeof(SomeData2) }; var cache = await DesktopCacheFactory.GetCache(null, PerfCacheName); await cache.Clear(); await cache.Set("key1", "stringValue"); cache.Size.Should().BeGreaterThan(0); cache.Count.Should().Be(1); cache.Get <string>("key1").Result.Value.Should().Be("stringValue"); await cache.Remove("key1"); cache.Count.Should().Be(0); cache.Size.Should().Be(0); cache.Get <string>("key1").Result.Should().BeNull(); await cache.Clear(); var someData = new SomeData2 { Entries = new Dictionary <string, int> { { "q", 45 }, { "w", 34 } }, StringProperty = "Some string of proto" }; await cache.Set("SomeProto", someData); await cache.Set("SomeProto2", someData); var sd2 = cache.Get <SomeData2>("SomeProto").Result; sd2.Value.StringProperty.Should().Be("Some string of proto"); sd2.Value.Entries.ShouldBeEquivalentTo(new Dictionary <string, int> { { "q", 45 }, { "w", 34 } }); }