zoukankan      html  css  js  c++  java
  • [c#] HttpContext.Cache和AppFabric的性能对比

    HttpContext

    // 写
                Stopwatch sw = new Stopwatch();
                sw.Start();

                for (int i = 1; i <= 100000; i++)
                {
                    var m = new Man()
                    {
                        age = 1,
                        Height = 2
                    };
                    HttpContext.Current.Cache[i.ToString()] = m;
                }

                sw.Stop();
                Debug.WriteLine(sw.ElapsedMilliseconds);


                // 读
                sw.Start();

                for (int j = 1; j <= 100000; j++)
                {
                    var m = HttpContext.Current.Cache[j.ToString()];
                }


                sw.Stop();

                Debug.WriteLine(sw.ElapsedMilliseconds); 

    结果是:

     181

    249

    Appfabric

    var dcf = new DataCacheFactory();
                var cache = dcf.GetCache("default");

                // 写
                Stopwatch sw = new Stopwatch();
                sw.Start();

                for (int i = 1; i <= 100000; i++)
                {
                    var m = new Man()
                    {
                        age = 1,
                        Height = 2
                    };
                    cache.Put(i.ToString(), m);
                }

                sw.Stop();
                Debug.WriteLine(sw.ElapsedMilliseconds);


                // 读
                sw.Start();

                for (int j = 1; j <= 100000;j++ )
                {
                    var m = cache.Get(j.ToString());
                }


                sw.Stop();

                Debug.WriteLine(sw.ElapsedMilliseconds); 

     结果是

    133979 (写的时间)

    263803  (读+写的总时间)

    补充Application的测试结果:

    103
    184

     // 写

                Stopwatch sw = new Stopwatch();
                sw.Start();

                for (int i = 1; i <= 100000; i++)
                {
                    var m = new Man()
                    {
                        age = 1,
                        Height = 2
                    };
                    Application[i.ToString()] = m;
                }

                sw.Stop();
                Debug.WriteLine(sw.ElapsedMilliseconds);


                // 读
                sw.Start();

                for (int j = 1; j <= 100000; j++)
                {
                    var m = Application[j.ToString()];
                }


                sw.Stop();
                Debug.WriteLine(sw.ElapsedMilliseconds); 
  • 相关阅读:
    UML用例图之泛化(generalization)、扩展(extend)和包含(include)关系
    介绍几个在线画流程图的工具
    企业如何招聘到高质量的程序员?
    韩信点兵算法
    扩展VS2010插件通过UML类图,自动生成相关代码
    CSS必须要知道的10个技巧
    T4系列文章之3:T4语法的介绍
    JSON.stringify 语法讲解
    跟我一起学JQuery插件开发
    从VS 2010 自带的2008 SQL数据库中的数据导入到 SQL 2005中
  • 原文地址:https://www.cnblogs.com/linn/p/2568490.html
Copyright © 2011-2022 走看看