public void Simple_Get_Set_Test() { _cache.GetOrDefault("A").ShouldBe(null); _cache.Set("A", new MyCacheItem { Value = 42 }); _cache.GetOrDefault("A").ShouldNotBe(null); _cache.GetOrDefault("A").Value.ShouldBe(42); _cache.Get("B", () => new MyCacheItem { Value = 43 }).Value.ShouldBe(43); _cache.Get("B", () => new MyCacheItem { Value = 44 }).Value.ShouldBe(43); //不调用工厂,所以值不变 var items1 = _cache.GetOrDefault(new string[] { "B", "C" }); items1[0].Value.ShouldBe(43); items1[1].ShouldBeNull(); var items2 = _cache.GetOrDefault(new string[] { "C", "D" }); items2[0].ShouldBeNull(); items2[1].ShouldBeNull(); _cache.Set(new KeyValuePair <string, MyCacheItem>[] { new KeyValuePair <string, MyCacheItem>("C", new MyCacheItem { Value = 44 }), new KeyValuePair <string, MyCacheItem>("D", new MyCacheItem { Value = 45 }) }); var items3 = _cache.GetOrDefault(new string[] { "C", "D" }); items3[0].Value.ShouldBe(44); items3[1].Value.ShouldBe(45); var items4 = _cache.Get(new string[] { "D", "E" }, (key) => new MyCacheItem { Value = key == "D" ? 46 : 47 }); items4[0].Value.ShouldBe(45); //不调用工厂,所以值不变 items4[1].Value.ShouldBe(47); }
public void Simple_Get_Set_Test(string cacheKey, int cacheValue) { var item = _cache.Get(cacheKey, () => new MyCacheItem { Value = cacheValue }); item.ShouldNotBe(null); item.Value.ShouldBe(cacheValue); _cache.GetOrDefault(cacheKey).Value.ShouldBe(cacheValue); }
public static TValue Get <TKey, TValue>(this ITypedCache <TKey, TValue> cache, TKey key, Func <TValue> factory) { return(cache.Get(key, k => factory())); }
public List <SQL> GetSQLList() { return(_cache.Get("MS360_DataAccess_SQLConfig", (k) => { return LoadConfigs(); })); }
public void Test_Get() { var resultFromCache = typedCache.Get <User>("Test_Get"); Assert.Null(resultFromCache); }