ASP.Net中的缓存方案(不仅仅是Cache和Session)(我在CSDN上和别人的争论)
2006-11-28 15:31
253 查看
我想设计一个完善的缓冲方案,用于在程序的各个地方缓冲数据。
应用程序级的Cache和Application大家都懂,就不说了
用户会话级的Session也懂,也不说
我要说的是小一点作用范围的。
线程级:在且仅在某个线程内有效的缓存。比如,可以定义一个数据库连接对象,在线程级把它缓冲起来,那么,执行各种数据库操作的时候,就不用担心它会冲突,因为当前CPU只有一个线程在执行。我们对数据库连接的一般做法都是在每个对象内部声明一个数据库连接或者作为属性由对象外部传进去,我觉得这种做法都不方便,如果能够实现线程级,则可以在数据层各个数据对象内部直接使用这个被缓存了的数据库连接,没有冲突,也在最大限度上充分利用了数据库连接。
请求级:在且仅在某一次请求的范围内有效的缓存。有时候,对于数据库的连接,我们都希望,在程序使用时连接一次数据库,一直用到这次请求结束。这就是请求级啦。
我觉得,线程级比请求级更好,因为ASP.Net运行时是这样处理的,收到一个请求,就从线程池分派一个线程去处理这个请求,同时也是从HttpApplication实例池中拿一个HttpApplication实例去处理,所以,一个线程可以被用于多次请求,一个HttpApplication实例,也可能被用于多个请求。
经过半个月来查找资料,我已经解决了绝大部分难题,做起来也挺麻烦的。
现在想听听大家的意见,看看大家有没有更好的实现方法。
CSDN上的地址
http://community.csdn.net/Expert/TopicView3.asp?id=5147435
应用程序级的Cache和Application大家都懂,就不说了
用户会话级的Session也懂,也不说
我要说的是小一点作用范围的。
线程级:在且仅在某个线程内有效的缓存。比如,可以定义一个数据库连接对象,在线程级把它缓冲起来,那么,执行各种数据库操作的时候,就不用担心它会冲突,因为当前CPU只有一个线程在执行。我们对数据库连接的一般做法都是在每个对象内部声明一个数据库连接或者作为属性由对象外部传进去,我觉得这种做法都不方便,如果能够实现线程级,则可以在数据层各个数据对象内部直接使用这个被缓存了的数据库连接,没有冲突,也在最大限度上充分利用了数据库连接。
请求级:在且仅在某一次请求的范围内有效的缓存。有时候,对于数据库的连接,我们都希望,在程序使用时连接一次数据库,一直用到这次请求结束。这就是请求级啦。
我觉得,线程级比请求级更好,因为ASP.Net运行时是这样处理的,收到一个请求,就从线程池分派一个线程去处理这个请求,同时也是从HttpApplication实例池中拿一个HttpApplication实例去处理,所以,一个线程可以被用于多次请求,一个HttpApplication实例,也可能被用于多个请求。
经过半个月来查找资料,我已经解决了绝大部分难题,做起来也挺麻烦的。
现在想听听大家的意见,看看大家有没有更好的实现方法。
CSDN上的地址
http://community.csdn.net/Expert/TopicView3.asp?id=5147435
相关文章推荐
- ASP.Net中的缓存方案(不仅仅是Cache和Session)(转)
- asp.net中Session缓存与Cache缓存的区别分析
- cache:缓存在asp.net中如何管理?服务器端缓存?Session, Application, Cache objectscache ,客户端缓存?Cookies,ViewState
- cache:缓存在asp.net中如何管理?服务器端缓存?Session, Application, Cache objectscache ,客户端缓存?Cookies,ViewState (转)
- cache:缓存在asp.net中如何管理?服务器端缓存?Session, Application, Cache objectscache ,客户端缓存?Cookies,ViewState
- asp.net中Session缓存与Cache缓存的区别分析
- ASP.NET 缓存:方法和最佳实践 (cache)
- Asp.net中Application Session Cookie ViewState Cache Hidden 区别
- 分享:ASP.NET(c#)操作cookie、session、cache工具类
- ASP.NET中缓存Cache的使用小节(学习之用)
- ASP.NET中Application、Session、Cookie、ViewState和Cache的生命周期
- asp.net 数据缓存System.Web.Caching.Cache 实例运用
- ASP.NET 缓存(Cache)
- ASP.NET网站管理系统退出 清除浏览器缓存,Session的代码
- ASP.NET状态管理之九(缓存Cache)
- ASP.NET cache缓存的用法
- asp.net cache 缓存
- ASP.NET状态服务及session丢失问题解决方案总结(转)
- ASP.NET Cache缓存的使用 (转载)
- asp.net vb版 cache 处理缓存实例