public void StaticUsage(bool compressValues, bool useBasic) { TimeSpan cacheLifeTime = TimeSpan.FromSeconds(1); RedisCachingService service = RedisHelpers.GetCustomRedis(compressValues: compressValues, useBasic: useBasic, defaultExpireTimeSpanSeconds: (int)cacheLifeTime.TotalSeconds); service.Clear(); Foobar cachable = RedisHelpers.GetCachableObject(); string cachableKey = RedisHelpers.CachableKey; DateTime startedCaching = DateTime.UtcNow; service.Cache(cachableKey, cachable); DateTime endedCaching = DateTime.UtcNow; ICachedObject <Foobar> existsRetrievedWrapper = service.Retrieve <Foobar>(cachableKey); RedisCachingService service2 = RedisHelpers.GetCustomRedis(compressValues: compressValues, useBasic: useBasic, defaultExpireTimeSpanSeconds: (int)cacheLifeTime.TotalSeconds); ICachedObject <Foobar> existsRetrievedWrapper2 = service2.Retrieve <Foobar>(cachableKey); Assert.True(RedisHelpers.CheckFooBarEquality(cachable, existsRetrievedWrapper.Value)); Assert.True(RedisHelpers.CheckFooBarEquality(existsRetrievedWrapper.Value, existsRetrievedWrapper2.Value)); // they aren't reference equal Assert.NotEqual(existsRetrievedWrapper.Value, existsRetrievedWrapper2.Value); service2.Clear(); Assert.Null(service.Retrieve <Foobar>(cachableKey)); }
public void AutomatedExpiration(bool compressValues, bool useBasic) { TimeSpan cacheLifeTime = TimeSpan.FromSeconds(1); RedisCachingService service = RedisHelpers.GetCustomRedis(compressValues: compressValues, useBasic: useBasic, defaultExpireTimeSpanSeconds: (int)cacheLifeTime.TotalSeconds); service.Clear(); Foobar cachable = RedisHelpers.GetCachableObject(); string cachableKey = RedisHelpers.CachableKey; DateTime startedCaching = DateTime.UtcNow; service.Cache(cachableKey, cachable); DateTime endedCaching = DateTime.UtcNow; ICachedObject <Foobar> existsRetrievedWrapper = service.Retrieve <Foobar>(cachableKey); Thread.Sleep(1000); ICachedObject <Foobar> retrievedWrapper = service.Retrieve <Foobar>(cachableKey); Assert.NotNull(existsRetrievedWrapper); Assert.Null(retrievedWrapper); }