Ejemplo n.º 1
0
        /// <summary>
        /// Func
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="key"></param>
        /// <param name="func"></param>
        /// <returns></returns>
        public static T GetDate <T> (string key, Func <T> func, int minute)
        {
            T result = default(T);

            if (CustomCache.Contains(key))
            {
                result = CustomCache.Get <T>(key);
            }
            else
            {
                result = func.Invoke();//DataSource.Count(key);
                CustomCache.Add(key, result, minute);
            }
            return(result);
        }
Ejemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="key">key</param>
        /// <param name="func">委托</param>
        /// <returns></returns>
        public static T CachGet <T>(string key, Func <T> func)
        {
            T result = default(T);//准备一个结果集

            if (CustomCache.Exist(key))
            {
                result = CustomCache.Get <T>(key);
            }
            else
            {
                result = func.Invoke();
                CustomCache.Add(key, result);
            }
            return(result);
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            try
            {
                #region 0124
                //for (int i = 0; i < 5; i++)
                //{
                //    string key = $"DataSource_Count_123";
                //    int result = 0;

                //   result = CustomCache.GetDate<int>(key,() => DataSource.Count(123));

                //    //if (CustomCache.Contains(key))
                //    //{
                //    //    result = CustomCache.Get<int>(key);
                //    //}
                //    //else
                //    //{
                //    //    result = DataSource.Count(234);
                //    //    CustomCache.Add(key,result);
                //    //}
                //    Console.WriteLine($"{i} - {result}");
                //}

                //for (int i = 0; i < 5; i++)
                //{
                //    //Console.WriteLine($"{i} - {DataSource.Count(234)}");
                //    string key = $"DataSource_Count_234";
                //    int result = 0;
                //    result = CustomCache.GetDate<int>(key, () => DataSource.Count(234));
                //    //if (CustomCache.Contains(key))
                //    //{
                //    //    result = CustomCache.Get<int>(key);
                //    //}
                //    //else
                //    //{
                //    //    result = DataSource.Count(234);
                //    //    CustomCache.Add(key, result);
                //    //}
                //    Console.WriteLine($"{i} - {result}");
                //}
                #endregion

                #region 0125
                //for (int i = 0; i < 5; i++)
                {
                    string key    = $"DataSource_Count_123";
                    int    result = 0;

                    result = CustomCache.GetDate <int>(key, () => DataSource.Count(123), 1);

                    Console.WriteLine($" {result}");

                    CustomCache.Remove(key);
                    CustomCache.RemoveAll();

                    // result = CustomCache.GetDate<int>(key, () => DataSource.Count(123),1);

                    result = CustomCache.GetDate <int>(key, () => DataSource.Count(123), 1);

                    Thread.Sleep(70000);

                    result = CustomCache.GetDate <int>(key, () => DataSource.Count(123), 1);
                }
                #endregion
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            Console.ReadKey();
        }