• 看到一个牛人 小结一些文章


    http://blog.csdn.net/zhuweisky/

     插件的“动态替换”

    2)在内存中复制插件Dll,然后加载内存中的Dll。这样,硬盘上的Dll就可以随意地被覆盖或删除了。以前我们是直接从硬盘加载插件Dll,就像这样:
    Assembly asm = Assembly.LoadFrom(addinFilePath) ;       现在,我们需要转个弯:
                    Assembly asm  = null ; 
                  
                    //先将插件拷贝到内存缓冲
                    byte[] addinStream = null ;                   
                    if(FileHelper.ReadFileToBuff(addinFilePath ,out addinStream))
                    {
                        asm = Assembly.Load(addinStream) ; //加载内存中的Dll
                    }

    对大多数大型系统而言,数据库往往是最容易出现瓶颈的地方,而通过使用恰当的缓存技术可以非常有效地减轻数据库的负载。
        
        将系统中用到的所有数据进行分类,分别对待不同种类的数据而不是一视同仁,有利于正确地做出缓存哪些数据、以及如何缓存的决策。
        我通常将系统中用到的数据分为四类:恒定不变的数据,只发生增量的数据,偶尔改变的数据,经常改变的数据。
    (1)对于恒定不变的数据,采用普通的恒定缓存,即这种缓存在系统启动后初始化一次就不再改变了。
    (2)对于只发生增量的数据,采用智能式的增量缓存,如果所要的数据在这种缓存中不存在,则该缓存会从其它地方(如数据库)自动加载目标对象并缓存起来。
    (3)对于偶尔改变的(但不是十分敏感的)数据,采用定时刷新的缓存,如每隔10分钟刷新一次。
    (4)对于经常改变的数据,则又可以进一步细分:
           将数据中变动部分和非变动部分区分开来,而非变动部分又可以封装为单独的对象,从而对该“部分”对象采用上述三种方式之一进行缓存。

        如此,便可最大程度的利用缓存,从而可以有效提高系统性能,并明显减轻数据库和网络负载。

  • 相关阅读:
    不能执行已释放的Script的代码(ie错误)
    javascript数组
    Jquery遍历方法
    Jquery选择器汇总
    使用xmlHttprequest 发送异步请求(Ajax核心对象)
    不使用局部变量和for循环或其它循环打印出如m=19,n=2結果为2 4 8 16 16 8 4 2形式的串
    解决Js跨域访问的问题
    Oracle 第一天
    计算机图形学1——绪论
    数据库
  • 原文地址:https://www.cnblogs.com/zc22/p/1609147.html
Copyright © 2020-2023  润新知