工厂层缓存了对象,所有的的数据操作层的类的对象。但是没有缓存调用方法的结果。也就是说在调用过一次文件后,第二次调用该操作类。就不会再new初始化了。直接调用缓存中的类对象。
缓存在业务逻辑层使用、调用还是很频繁的,一个请求在一个功能模块就会调用很多次。多个请求的话也是很可观的性能消耗。
你每一次的调用逻辑层的操作方法时候,都会用到这个对象缓存。如果访问量很大的话,这些个new 的过程还是很多的,这个操作类在部署后的基本上是不不变的。所以应用缓存可以提高部分的性能,虽然不是很大部分。
详细的理论资料。看一下微软官方对petshop 4.0 的解释吧。
下个petshop源代码
Microsoft .NET Pet Shop 4:将 ASP.NET 1.1 应用程序迁移到 2.0
http://msdn.microsoft.com/zh-cn/library/aa479070.aspx
http://www.codeplex.com/petshopvnext
或Discuz源码看看
http://download.comsenz.com/DiscuzNT/3.0/dnt_3_sqlserver.zip
http://faq.comsenz.com/usersguide/nt
有关缓存技术,可以找一下苏鹏老师的有一堂叫做缓存技术的课程,认识会全面一些。缓存用途:某些数据如果不频繁修改或者实时性不强,取得数据的处理较为复杂的时候,要考虑使用。一般存放的是用户请求返回的响应数据。使用多不多要看具体怎么用。
附上本人读书笔记:http://www.cnblogs.com/vipcjob/archive/2009/08/05/1539487.html