Ejemplo n.º 1
0
 private static void AddMemoryCache(CacheItem cacheItem)
 {
     if (cacheItem != null)
     {
         Items.TryAdd(cacheItem.Type + ":" + cacheItem.Key, cacheItem);
     }
 }
Ejemplo n.º 2
0
 public async Task SaveAsync(CacheItem cacheItem, bool inMemoryOnly = false)
 {
     cacheItem.Guid = Guid.NewGuid();
     if (!inMemoryOnly)
     {
         await _collection.InsertOneAsync(cacheItem);
     }
     AddMemoryCache(cacheItem);
 }
Ejemplo n.º 3
0
        public async Task RemoveAsync(string cacheItemId)
        {
            var builder = Builders <CacheItem> .Filter;
            var filter  = builder.Eq(p => p.Guid, new Guid(cacheItemId));
            await _collection.DeleteOneAsync(filter);

            var itemsToRemove = Items.Where(s => s.Value.Id == cacheItemId).ToList();

            foreach (var cacheItem in itemsToRemove)
            {
                // TODO
                CacheItem ci;
                Items.TryRemove(CacheItem.GetKey(cacheItem.Value), out ci);
            }
        }
Ejemplo n.º 4
0
        public async Task DeleteAsync(string siteId)
        {
            var builder = Builders <CacheItem> .Filter;
            var filter  = builder.Eq(p => p.SiteId, siteId);
            await _collection.DeleteManyAsync(filter);

            var itemsToRemove = Items.Where(s => s.Value.SiteId == siteId).ToList();

            foreach (var cacheItem in itemsToRemove)
            {
                // TODO
                CacheItem ci;
                Items.TryRemove(CacheItem.GetKey(cacheItem.Value), out ci);
            }
        }