VEU.WathBody/3-app/1-lib/Kit.Helpers/Cache/ICacheProvider.cs

19 lines
843 B
C#

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