コード例 #1
0
ファイル: CacheTest.cs プロジェクト: zhaojin0/ignite
        public void TestCacheWithExpiryPolicyOnUpdate()
        {
            const int val                   = 4;
            var       expiryPolicy          = new ExpiryPolicy(null, TimeSpan.FromMilliseconds(100), null);
            var       cache                 = GetClientCache <int>();
            var       cacheWithExpiryPolicy = cache.WithExpiryPolicy(expiryPolicy);

            cacheWithExpiryPolicy.Put(val, val);
            Assert.IsTrue(cacheWithExpiryPolicy.ContainsKey(val));
            Assert.IsTrue(cache.ContainsKey(val));

            Thread.Sleep(50);
            Assert.IsTrue(cacheWithExpiryPolicy.ContainsKey(val));
            Assert.IsTrue(cache.ContainsKey(val));

            cacheWithExpiryPolicy.Put(val, val + 1);

            Thread.Sleep(70);
            Assert.IsTrue(cacheWithExpiryPolicy.ContainsKey(val));
            Assert.IsTrue(cache.ContainsKey(val));

            Thread.Sleep(50);

            // Expiry policies should be applied, no cache item exists.
            Assert.IsFalse(cacheWithExpiryPolicy.ContainsKey(val));
            Assert.IsFalse(cache.ContainsKey(val));
        }
コード例 #2
0
        public void TestCreateFromConfigurationWithExpiration()
        {
            var expiryPolicy = new ExpiryPolicy(
                TimeSpan.FromMilliseconds(20),
                TimeSpan.FromMilliseconds(10),
                TimeSpan.FromMilliseconds(30));

            // Default config.
            var cfg = new CacheClientConfiguration("a")
            {
                ExpiryPolicyFactory = new ExpiryPolicyFactory(expiryPolicy)
            };
            var cache = Client.CreateCache <int, int>(cfg);

            AssertExtensions.ReflectionEqual(cfg, cache.GetConfiguration());

            var remoteExpiryPolicy = cache.GetConfiguration().ExpiryPolicyFactory.CreateInstance();

            AssertExtensions.ReflectionEqual(expiryPolicy, remoteExpiryPolicy);

            cache.Put(1, 1);

            // Wait for expiration period.
            Thread.Sleep(100);

            Assert.IsFalse(cache.ContainsKey(1));
        }
コード例 #3
0
ファイル: CacheTest.cs プロジェクト: pks-os/gridgain
        public void TestCacheWithKeepBinaryDoesNotAffectExpirationPolicy()
        {
            const int key = 11;
            var person = new Person(1);

            var expiryPolicy = new ExpiryPolicy(null, null, TimeSpan.FromMilliseconds(100));
            var cacheWithExpiryPolicy = GetClientCache<Person>().WithExpiryPolicy(expiryPolicy);

            cacheWithExpiryPolicy.Put(key, person);

            var cacheWithKeepBinary = cacheWithExpiryPolicy.WithKeepBinary<int, IBinaryObject>();
            AssertExtensions.ReflectionEqual(person, cacheWithKeepBinary.Get(key).Deserialize<Person>());

            Thread.Sleep(200);

            Assert.IsFalse(cacheWithKeepBinary.ContainsKey(key));
            Assert.IsFalse(cacheWithExpiryPolicy.ContainsKey(key));
        }
コード例 #4
0
ファイル: CacheTest.cs プロジェクト: zhaojin0/ignite
        public void TestCacheWithExpiryPolicyOnCreate()
        {
            const int val                   = 3;
            var       expiryPolicy          = new ExpiryPolicy(TimeSpan.FromMilliseconds(100), null, null);
            var       cache                 = GetClientCache <int>();
            var       cacheWithExpiryPolicy = cache.WithExpiryPolicy(expiryPolicy);

            cacheWithExpiryPolicy.Put(val, val);

            // Initially added value is the same.
            Assert.IsTrue(cacheWithExpiryPolicy.ContainsKey(val));
            Assert.IsTrue(cache.ContainsKey(val));

            // Wait for an expiration.
            Thread.Sleep(200);

            // Expiry policies should be applied, no cache item exists.
            Assert.IsFalse(cacheWithExpiryPolicy.ContainsKey(val));
            Assert.IsFalse(cache.ContainsKey(val));
        }
コード例 #5
0
ファイル: CacheTest.cs プロジェクト: zhaojin0/ignite
        public void TestCacheWithExpirationHasIsolatedScope()
        {
            const int val                   = 7;
            var       expiryPolicy          = new ExpiryPolicy(TimeSpan.FromMilliseconds(100), null, null);
            var       cache                 = GetClientCache <int>();
            var       cacheWithExpiryPolicy = cache.WithExpiryPolicy(expiryPolicy);

            cache.Put(val, val);
            cacheWithExpiryPolicy.Put(val + 1, val);

            Thread.Sleep(200);

            // Both caches contains the original value.
            Assert.IsTrue(cache.ContainsKey(val));
            Assert.IsTrue(cacheWithExpiryPolicy.ContainsKey(val));

            // New value is being absent for both caches.
            Assert.IsFalse(cache.ContainsKey(val + 1));
            Assert.IsFalse(cacheWithExpiryPolicy.ContainsKey(val + 1));
        }