public override void Invalidate(TIntent intent)
        {
            var key = KeyBuilder.GetCacheKey(intent);

            if (key != null)
            {
                Invalidate(key);
            }
        }
        public override TOutput Get(TIntent intent)
        {
            var key = KeyBuilder.GetCacheKey(intent);

            return(key == null ? default(TOutput) : _memoryCache.Get <TOutput>(key));
        }
        public override TOutput Create(TIntent intent, TOutput result, TimeSpan relativeExpiration)
        {
            var key = KeyBuilder.GetCacheKey(intent);

            return(_memoryCache.Set(key, result, relativeExpiration));
        }