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))); }
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)); }
public async Task RemoveAllAsync(IEnumerable <string> keys, CancellationToken token = default) { await cache.RemoveAllAsync(keys.Select(EnsurePrefix), token).ConfigAwait(); }
public static async Task ClearCachesAsync(this ICacheClientAsync cache, string[] cacheKeys, CancellationToken token = default) { var allCacheKeys = GetAllContentCacheKeys(cacheKeys); await cache.RemoveAllAsync(allCacheKeys, token); }