缓存是用于提升程序性能的重要手段之一,接下来我们一起来看看如何在在ZKEACMS(纸壳CMS)中的缓存机制,以级如何使用缓存。
ZKEACMS(纸壳CMS)中使用CacheManager作为缓存的基础。
在使用缓存之前,需要对目标缓存类型先进行注册。注册的方式很简单,可以在插件类(XXXPlug.cs)或者在ZKEACMS.Builder.cs(如果需要)中注册:
public override void ConfigureServices(IServiceCollection serviceCollection)
{
serviceCollection.ConfigureCache<IEnumerable<WidgetBase>>();
}
注册过后就可以使用缓存了:
public WidgetBasePartService(ICacheManager<IEnumerable<WidgetBase>> pageWidgetCacheManage)
{
_pageWidgetCacheManage = pageWidgetCacheManage;
}
ICacheManager<T>
接口的方法使用比较简单:
namespace Easy.Cache
{
public interface ICacheManager<T>
{
bool Add(string key, T value);
bool Add(string key, T value, string region);
bool Exists(string key);
bool Exists(string key, string region);
T Get(string key);
T Get(string key, string region);
T GetOrAdd(string key, string region, Func<string, string, T> valueFactory);
T GetOrAdd(string key, Func<string, T> valueFactory);
T GetOrAdd(string key, string region, T value);
T GetOrAdd(string key, T value);
void Remove(string key);
void ClearRegion(string region);
void Clear();
}
}