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); 
  • 相关阅读:
    C++学习笔记----2.4 C++对象的内存模型
    C++学习笔记(2)---2.5 C++函数编译原理和成员函数的实现
    C++学习笔记(1)-构造函数与析构函数
    学习笔记(5)---数学运算
    学习笔记(4)---协方差和特征向量的意义
    学习笔记(3)---安装SVM问题及解决方法
    学习笔记(2)---Matlab 图像处理相关函数命令大全
    数据增删查改操作总结
    表操作总结
    touch命令修改时间
  • 原文地址:https://www.cnblogs.com/linn/p/2568490.html
Copyright © 2011-2022 走看看