public void OverwriteWithAbsoluteExpirationTest() { var key = "OverwriteWithAbsoluteExpirationTest"; var val = Guid.NewGuid(); IHttpRuntimeCacheProvider cacheProvider = new RedisCacheProvider(); var result = cacheProvider.GetOrCreate <Guid>(key, () => val); Assert.AreEqual(result, val); var exist = cacheProvider.TryGet <Guid>(key, out val); Assert.IsTrue(exist); var val2 = Guid.NewGuid(); cacheProvider.Overwrite <Guid>(key, val2, DateTime.UtcNow.AddSeconds(4D)); Thread.Sleep(TimeSpan.FromSeconds(8D)); Guid val3; exist = cacheProvider.TryGet <Guid>(key, out val3); Assert.IsFalse(exist); Assert.AreEqual(val3, Guid.Empty); }
public void GetOrCreateTest() { var key = Guid.NewGuid().ToString("n"); var val = Guid.NewGuid(); IHttpRuntimeCacheProvider cacheProvider = new RedisCacheProvider(new ServiceStackRedis()); var result = cacheProvider.GetOrCreate<Guid>(key, () => val); Assert.AreEqual(result, val); { var exist = cacheProvider.TryGet<Guid>(key, out val); Assert.IsTrue(exist); Assert.AreEqual(result, val); } { var result2 = cacheProvider.GetOrCreate<Guid>(key, () => { Assert.Fail(); return Guid.NewGuid(); }); Assert.AreEqual(result2, val); } }
public void ExpireTest() { var key = Guid.NewGuid().ToString("n"); var val = Guid.NewGuid(); IRedis redis = ServiceStackRedis.Default; IHttpRuntimeCacheProvider cacheProvider = new RedisCacheProvider(redis); { var result = cacheProvider.GetOrCreate <Guid>(key, () => val); Assert.AreEqual(result, val); var exist = cacheProvider.TryGet <Guid>(key, out val); Assert.IsTrue(exist); cacheProvider.Expire(key); Guid val2; exist = cacheProvider.TryGet <Guid>(key, out val2); Assert.IsFalse(exist); Assert.AreEqual(val2, Guid.Empty); } { var result = cacheProvider.GetOrCreate <Guid>(key, () => val); Assert.AreEqual(result, val); var exist = cacheProvider.TryGet <Guid>(key, out val); Assert.IsTrue(exist); cacheProvider.Expire(key); Guid val2; exist = cacheProvider.TryGet <Guid>(key, out val2); Assert.IsFalse(exist); Assert.AreEqual(val2, Guid.Empty); } }
public void GetOrCreateTest() { var key = Guid.NewGuid().ToString("n"); var val = Guid.NewGuid(); IHttpRuntimeCacheProvider cacheProvider = new RedisCacheProvider(ServiceStackRedis.Default); var result = cacheProvider.GetOrCreate <Guid>(key, () => val); Assert.AreEqual(result, val); { var exist = cacheProvider.TryGet <Guid>(key, out val); Assert.IsTrue(exist); Assert.AreEqual(result, val); } { var result2 = cacheProvider.GetOrCreate <Guid>(key, () => { Assert.Fail(); return(Guid.NewGuid()); }); Assert.AreEqual(result2, val); } }
public void OverwriteTest() { var key = Guid.NewGuid().ToString("n"); var val = Guid.NewGuid(); IHttpRuntimeCacheProvider cacheProvider = new RedisCacheProvider(new ServiceStackRedis()); var result = cacheProvider.GetOrCreate<Guid>(key, () => val); Assert.AreEqual(result, val); var val2 = Guid.NewGuid(); cacheProvider.Overwrite<Guid>(key, val2); Guid val3; var exist = cacheProvider.TryGet<Guid>(key, out val3); Assert.IsTrue(exist); Assert.AreEqual(val3, val2); }
public void Save_ReferenceType_then_get() { var key = "key-object"; ICacheProvider cache = new RedisCacheProvider( ConfigurationManager.AppSettings.Get("cache:redis"), "region2"); var id1 = new Object(); var id2 = cache.GetOrCreate(key, _ => id1); Assert.AreEqual(id1, id2); cache.Expire(key); Object id3; var exists = cache.TryGet(key, out id3); Assert.IsFalse(exists); Assert.AreNotEqual(id1, id3); Assert.AreEqual(id3, null); }
public void Save_ValueType_then_get() { var key = "key-guid"; ICacheProvider cache = new RedisCacheProvider( ConfigurationManager.AppSettings.Get("cache:redis"), "region1"); var id1 = Guid.NewGuid(); var id2 = cache.GetOrCreate(key, _ => id1); Assert.AreEqual(id1, id2); cache.Expire(key); Guid id3; var exists = cache.TryGet(key, out id3); Assert.IsFalse(exists); Assert.AreNotEqual(id1, id3); Assert.AreEqual(id3, Guid.Empty); }
public void OverwriteTest() { var key = Guid.NewGuid().ToString("n"); var val = Guid.NewGuid(); IHttpRuntimeCacheProvider cacheProvider = new RedisCacheProvider(ServiceStackRedis.Default); var result = cacheProvider.GetOrCreate <Guid>(key, () => val); Assert.AreEqual(result, val); var val2 = Guid.NewGuid(); cacheProvider.Overwrite <Guid>(key, val2); Guid val3; var exist = cacheProvider.TryGet <Guid>(key, out val3); Assert.IsTrue(exist); Assert.AreEqual(val3, val2); }
public void GetOrCreateWithslidingExpirationTest() { var key = "GetOrCreateWithslidingExpirationTest"; var val = Guid.NewGuid(); IHttpRuntimeCacheProvider cacheProvider = new RedisCacheProvider(); var result = cacheProvider.GetOrCreate <Guid>(key, () => val, TimeSpan.FromSeconds(4D)); Assert.AreEqual(result, val); var exist = cacheProvider.TryGet <Guid>(key, out val); Assert.IsTrue(exist); Assert.AreEqual(result, val); Thread.Sleep(TimeSpan.FromSeconds(8D)); exist = cacheProvider.TryGet <Guid>(key, out val); Assert.IsFalse(exist); Assert.AreEqual(val, Guid.Empty); }
public void ExpireTest() { var key = "ExpireTest"; var val = Guid.NewGuid(); IHttpRuntimeCacheProvider cacheProvider = new RedisCacheProvider(); var result = cacheProvider.GetOrCreate <Guid>(key, () => val); Assert.AreEqual(result, val); var exist = cacheProvider.TryGet <Guid>(key, out val); Assert.IsTrue(exist); cacheProvider.Expire(key); Guid val2; exist = cacheProvider.TryGet <Guid>(key, out val2); Assert.IsFalse(exist); Assert.AreEqual(val2, Guid.Empty); }