Func委托使用
缓存数据首页统计数据
分钟func委托
public T GetOrSetCache<T>(Func<T> dataFetchFunc, string key) { if (key.IsNotEmpty()) { var cachedData = GetCacheData<T>(key); if (cachedData != null) { return cachedData; } } var data = dataFetchFunc(); if (key.IsNotEmpty()) { SetCacheData(key, data); } return data; } /// <summary> /// 获取缓存数据 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="key"></param> /// <returns></returns> private T GetCacheData<T>(string key) { return CacheProvider.Redis().Get<T>(key); } /// <summary> /// 设置缓存数据 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="key"></param> /// <param name="data"></param> private void SetCacheData<T>(string key, T data) { CacheProvider.Redis().Write(key, data, 60 * 10); }
使用就是,这个是不带参数的
 var result = GetOrSetCache(() => getdata(model), key);
或者是带参数的
public delegate TResult Func<in T, out TResult>(T arg);
使用就是,返回的是获取的数据
model => { return getdata(model); }
                    
                
                
            
        
浙公网安备 33010602011771号