Example #1
0
        public void AbsoluteSubSecondExpirationExpiresImmidately()
        {
            var cache = RedisTestConfig.CreateCacheInstance(GetType().Name);
            var key   = "myKey";
            var value = new byte[1];

            var result = cache.Set(key, context =>
            {
                context.SetAbsoluteExpiration(DateTimeOffset.UtcNow + TimeSpan.FromSeconds(0.25));
                context.Data.Write(value, 0, value.Length);
            });

            Assert.Equal(value, result.ReadAllBytes());

            var found = cache.TryGetValue(key, out result);

            Assert.False(found);
            Assert.Null(result);
        }
Example #2
0
        public void GetOrSetDoesNotOverwrite()
        {
            var cache  = RedisTestConfig.CreateCacheInstance(GetType().Name);
            var value1 = new byte[1] {
                1
            };
            var value2 = new byte[1] {
                2
            };
            string key = "myKey";

            // Assigned
            var result = cache.Set(key, value1);

            Assert.Equal(value1, result.ReadAllBytes());

            // Retrieved
            result = cache.GetOrSet(key, value2);
            Assert.Equal(value1, result.ReadAllBytes());
        }
Example #3
0
        public void SetAlwaysOverwrites()
        {
            var cache  = RedisTestConfig.CreateCacheInstance(GetType().Name);
            var value1 = new byte[1] {
                1
            };
            string key = "myKey";

            var result = cache.Set(key, value1);

            Assert.Equal(value1, result.ReadAllBytes());

            var value2 = new byte[1] {
                2
            };

            result = cache.Set(key, value2);
            Assert.Equal(value2, result.ReadAllBytes());

            result = cache.Get(key);
            Assert.Equal(value2, result.ReadAllBytes());
        }