Example #1
0
        public async Task Can_use_batch_operations()
        {
            await cache.SetAllAsync(new Dictionary <string, string>
            {
                { "Car", "Audi" },
                { "Phone", "MotoX" }
            });

            var response = await cache.GetAllAsync <string>(new List <string> {
                "Car", "Phone"
            });

            Assert.That(response["Car"], Is.EqualTo("Audi"));
            Assert.That(response["Phone"], Is.EqualTo("MotoX"));

            var singleResponse = await cache.GetAsync <string>("Phone");

            Assert.That(singleResponse, Is.EqualTo("MotoX"));

            await cache.RemoveAllAsync(new List <string> {
                "Car", "Phone"
            });

            response = await cache.GetAllAsync <string>(new List <string> {
                "Car", "Phone"
            });

            Assert.That(response["Car"], Is.EqualTo(default(string)));
            Assert.That(response["Phone"], Is.EqualTo(default(string)));
        }
Example #2
0
        public async Task Can_remove_multiple_items()
        {
            var map = 5.Times(i => new Item {
                Id = i, Name = "Name" + i
            })
                      .ToSafeDictionary(x => x.ToUrn());

            await Cache.SetAllAsync(map);

            await Cache.RemoveAllAsync(map.Keys);

            var cacheMap = await Cache.GetAllAsync <Item>(map.Keys);

            Assert.That(cacheMap.Count, Is.EqualTo(5));
            Assert.That(cacheMap.Values.All(x => x == null));
        }
Example #3
0
 public async Task RemoveAllAsync(IEnumerable <string> keys, CancellationToken token = default)
 {
     await cache.RemoveAllAsync(keys.Select(EnsurePrefix), token).ConfigAwait();
 }
Example #4
0
 public static async Task ClearCachesAsync(this ICacheClientAsync cache, string[] cacheKeys, CancellationToken token = default)
 {
     var allCacheKeys = GetAllContentCacheKeys(cacheKeys);
     await cache.RemoveAllAsync(allCacheKeys, token);
 }