摘要:
在以前的两篇文章中,介绍了Discuz!NT中的缓存设计思路以及如何引入Memcached,当然前者是IIS进程的缓存(本地缓存),后者是分布式内存对象缓存系统。 两者通过Discuz!NT中的memcached.config文件中的ApplyMemCached结点的值来决定使用哪一种缓存方式。不过在之后,有朋友反映当使用Memcached时,特别是在大并发来时,效率会打折扣,甚至有很多时间会消耗... 阅读全文
摘要:
System.Web.HttpContext.Current.Cache 属性 ----->是个"属性值"System.Web.HttpRuntime.Cache 属性--------------->是个"属性值"System.Web.Caching.Cache webCache=***-------->是个"类"比如:protected static volatile Syst... 阅读全文
摘要:
Volatile 字面的意思时易变的,不稳定的。在C#中也差不多可以这样理解。编译器在优化代码时,可能会把经常用到的代码存在Cache里面,然后下一次调用就直接读取Cache而不是内存,这样就大大提高了效率。但是问题也随之而来了。在多线程程序中,如果把一个变量放入Cache后,又有其他线程改变了变量的值,那么本线程是无法知道这个变化的。它可能会直接读Cache里的数据。但是很不幸,Cache里的数... 阅读全文
摘要:
接着上一节我们讲到的Install,我们接着来看第二步的实现。 在这个页面中检测的功能,主要是通过以下这段代码来实现检测功能,呵呵,还是用的字符串拼接输出,呵呵,晕没有办法,Discuz的程序员就是这样写的。》 1: <% 2: bool err = false; 3: string result = SetupPage.InitialSystemValidCheck(ref err); ... 阅读全文
摘要:
前天上CSDN看到,Discuz出了新的版本2.5。当时立马跑到了Discuz的老家下载了源程序来看看。对于第一次看Discuz的兄弟们基本上100%都是不适应的,因为discuz为了考虑到程序员与美工搭配的原因还有就是性能的原因没有采用太多的代码后置的程序,反而使用了大量了类似于JSP的Model2的MVC结构,呵呵,也许开发人员以前是以PHP和Java开发为主,所以写的程序确实和我们平常看到的... 阅读全文