public void Add(bool compressValues, bool useBasic)
        {
            TimeSpan            cacheLifeTime = TimeSpan.FromMinutes(5);
            RedisCachingService service       = RedisHelpers.GetRedis(compressValues: compressValues, useBasic: useBasic);

            service.Clear();
            string cachableKey = RedisHelpers.CachableKey;
            Foobar cachable    = RedisHelpers.GetCachableObject();
            DefaultCachedObject <object> dto = new DefaultCachedObject <object>
            {
                Value      = cachable,
                CachedTime = DateTime.UtcNow,
                ExpireTime = DateTime.UtcNow.Add(cacheLifeTime)
            };

            service.Add(cachableKey, dto);
            Assert.Single(service);
            var    theSingle      = service.Values.Single();
            var    theValue       = theSingle.UntypedValue;
            string returnedString = theValue as string;

            Assert.False(string.IsNullOrWhiteSpace(returnedString));
            Foobar returned = RedisHelpers.SerializationService.DeserializeObject <Foobar>(returnedString, RedisHelpers.SerializationSettings);

            Assert.True(RedisHelpers.CheckFooBarEquality(cachable, returned));
        }
        public void Indexing(bool compressValues, bool useBasic)
        {
            TimeSpan            cacheLifeTime = TimeSpan.FromMinutes(5);
            RedisCachingService service       = RedisHelpers.GetRedis(compressValues: compressValues, useBasic: useBasic);

            service.Clear();
            string cachableKey = RedisHelpers.CachableKey;

            // this shouldn't throw
            Assert.Null(service[cachableKey]);
            Foobar cachable = RedisHelpers.GetCachableObject();
            DefaultCachedObject <object> dto = new DefaultCachedObject <object>
            {
                Value      = cachable,
                CachedTime = DateTime.UtcNow,
                ExpireTime = DateTime.UtcNow.Add(cacheLifeTime)
            };

            service[cachableKey] = dto;
            Assert.Single(service);
            ICachedObjectBasic retrieved = service[cachableKey];
            Foobar             returned  = RedisHelpers.SerializationService.DeserializeObject <Foobar>(
                (string)retrieved.UntypedValue, RedisHelpers.SerializationSettings);

            Assert.NotNull(returned);
            Assert.NotEqual(cachable, returned);
            Assert.True(RedisHelpers.CheckFooBarEquality((Foobar)dto.Value, returned));
        }
Пример #3
0
        public void Properties()
        {
            DefaultCachedObject <string> cachedObject = new DefaultCachedObject <string>();
            const string value      = "a value";
            DateTime     time       = DateTime.UtcNow;
            DateTime     expireTime = DateTime.UtcNow.AddMinutes(5);

            cachedObject.ExpireTime = expireTime;
            cachedObject.CachedTime = time;
            cachedObject.Value      = value;

            Assert.Equal(expireTime, cachedObject.ExpireTime);
            Assert.Equal(time, cachedObject.CachedTime);
            Assert.Equal(value, cachedObject.Value);
        }
        public void Add()
        {
            TimeSpan             cacheLifeTime = TimeSpan.FromMinutes(5);
            MemoryCachingService service       = new MemoryCachingService(cacheLifeTime);
            string cachableKey = this.cachableKey;
            Foobar cachable    = GetCachableObject();
            DefaultCachedObject <object> dto = new DefaultCachedObject <object>
            {
                Value      = cachable,
                CachedTime = DateTime.UtcNow,
                ExpireTime = DateTime.UtcNow.Add(cacheLifeTime)
            };

            service.Add(cachableKey, dto);
            Assert.Single(service);;
            Assert.Equal(dto.Value, service.Retrieve <Foobar>(cachableKey).Value);
        }
        public void Indexing()
        {
            TimeSpan             cacheLifeTime = TimeSpan.FromMinutes(5);
            MemoryCachingService service       = new MemoryCachingService(cacheLifeTime);
            string cachableKey = this.cachableKey;

            // this shouldn't throw
            Assert.Null(service[cachableKey]);
            Foobar cachable = GetCachableObject();
            DefaultCachedObject <object> dto = new DefaultCachedObject <object>
            {
                Value      = cachable,
                CachedTime = DateTime.UtcNow,
                ExpireTime = DateTime.UtcNow.Add(cacheLifeTime)
            };

            service[cachableKey] = dto;
            Assert.Single(service);
            ICachedObjectBasic retrieved = service[cachableKey];

            Assert.Equal(dto.Value, retrieved.UntypedValue);
        }