namespace Kit.Helpers.Cache { using Microsoft.Extensions.Caching.Memory; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; public interface ICacheProvider { string CreateCacheName(object prefix, params object[] args); bool Contains(string cacheName); void PurgeCacheItems(string cacheName, bool isPrefix = false); void SetCacheData(string cacheName, TObject data, MemoryCacheEntryOptions? setProperties = null, PostEvictionDelegate? callback = null); TResult GetCacheData(string cacheName); TResult GetCacheData(string cacheName, Func getMethod, MemoryCacheEntryOptions? setProperties = null, PostEvictionDelegate? callback = null); } }