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); 
  • 相关阅读:
    Java并发编程:volatile关键字解析(转)
    Java并发编程 Synchronized及其实现原理
    (a++)+(++a)=?
    Java集合中那些类是线程安全的
    Servlet 与 CGI 的比较
    JAVA中常见的锁以及其特性
    总结一下hashMap和hashtable方面的知识点
    Which statement is true?
    下面哪段程序能够正确的实现了GBK编码字节流到UTF-8编码字节流的转换:
    Kafka 详解(转)
  • 原文地址:https://www.cnblogs.com/linn/p/2568490.html
Copyright © 2011-2022 走看看