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); 
  • 相关阅读:
    25、Base64
    24、AES RSA加密处理记录
    23、获取app所占据的内存
    22、DDMS(转载)
    21、HierarchyViewer使用记录
    kubernetes 操作 serviceaccounts
    删除dashboard
    数据库建库指定UTF-8和jdbc连接字符串
    apt 被卸载
    EasyReport报表工具部署
  • 原文地址:https://www.cnblogs.com/linn/p/2568490.html
Copyright © 2011-2022 走看看