Ejemplo n.º 1
0
 /// <summary>
 /// 获取缓存, 如果缓存不存在就执行代理方法添加缓存
 /// </summary>
 /// <typeparam name="T">数据类型</typeparam>
 /// <param name="key">Key</param>
 /// <param name="getDataFun">获取数据的代理</param>
 /// <param name="second">缓存秒数</param>
 /// <returns>缓存对象</returns>
 public static T Get<T>(string key,int second,InsertCacheFun<T> getDataFun)
 {
     object obj = _cache[key];
     if (obj == null)
     {
         obj = getDataFun();
         if (second > 0)
             Insert(key, obj, second);
     }
     return (T)obj;
 }
Ejemplo n.º 2
0
        public static T Get <T>(string key, int timeOut, InsertCacheFun <T> getDataFun)
        {
            object obj = Get(key);

            if (obj == null)
            {
                obj = getDataFun();
                if (timeOut > 0)
                {
                    Add(key, obj, timeOut);
                }
            }
            return((T)obj);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 委托方法判断是否存在,不存在就缓存
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="key"></param>
        /// <param name="min">到期秒数</param>
        /// <param name="getDataFun">方法</param>
        /// <returns></returns>
        public static string GetString(string key, int min, InsertCacheFun <string> getDataFun)
        {
            string obj = string.Empty;

            if (!Exists(key))
            {
                obj = getDataFun();
                Set(key, obj, min);
            }
            else
            {
                obj = Get(key) as string;
            }
            return(obj.ToString());
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 委托方法判断是否存在,不存在就缓存
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="key"></param>
        /// <param name="min">到期秒数</param>
        /// <param name="getDataFun">方法</param>
        /// <returns></returns>
        public static T Get <T>(string key, int min, InsertCacheFun <T> getDataFun)
        {
            object obj = null;

            if (!Exists(key))
            {
                obj = getDataFun();
                Set(key, JsonConvert.SerializeObject(obj), min);
                obj = Get(key);
            }
            else
            {
                obj = Get(key);
            }
            return(JsonConvert.DeserializeObject <T>(obj.ToString()));
        }
Ejemplo n.º 5
0
        /// <summary>
        /// //委托方法判断是否存在,不存在就缓存
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="key"></param>
        /// <param name="dt">到期日期</param>
        /// <param name="getDataFun">方法</param>
        /// <returns></returns>
        public static T Get <T>(string key, DateTime dt, InsertCacheFun <T> getDataFun)
        {
            object obj = null;

            if (!Exists(key))
            {
                var objList = getDataFun();
                obj = JsonConvert.SerializeObject(objList);
                Set(key, obj, dt);
            }
            else
            {
                obj = Get(key);
            }
            return(JsonConvert.DeserializeObject <T>(obj.ToString()));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 获取缓存, 如果缓存不存在就执行代理方法添加缓存
        /// </summary>
        /// <typeparam name="T">数据类型</typeparam>
        /// <param name="key">Key</param>
        /// <param name="getDataFun">获取数据的代理</param>
        /// <param name="minutes">缓存分钟数</param>
        /// <returns>缓存对象</returns>
        public static T Get <T>(string key, int minutes, InsertCacheFun <T> getDataFun)
        {
            object obj = null;

            if (checkKey(key))
            {
                obj = (T)Get(key);
                if (obj == null)
                {
                    obj = getDataFun();
                    if (minutes > 0 && obj != null)
                    {
                        Set(key, obj, minutes);
                    }
                }
            }
            return((T)obj);
        }