ASP.Net中的缓存方案(不仅仅是Cache和Session)(我在CSDN上和别人的争论)

简介:
我想设计一个完善的缓冲方案,用于在程序的各个地方缓冲数据。

应用程序级的Cache和Application大家都懂,就不说了
用户会话级的Session也懂,也不说

我要说的是小一点作用范围的。

线程级:在且仅在某个线程内有效的缓存。比如,可以定义一个数据库连接对象,在线程级把它缓冲起来,那么,执行各种数据库操作的时候,就不用担心它会冲突,因为当前CPU只有一个线程在执行。我们对数据库连接的一般做法都是在每个对象内部声明一个数据库连接或者作为属性由对象外部传进去,我觉得这种做法都不方便,如果能够实现线程级,则可以在数据层各个数据对象内部直接使用这个被缓存了的数据库连接,没有冲突,也在最大限度上充分利用了数据库连接。

请求级:在且仅在某一次请求的范围内有效的缓存。有时候,对于数据库的连接,我们都希望,在程序使用时连接一次数据库,一直用到这次请求结束。这就是请求级啦。

我觉得,线程级比请求级更好,因为ASP.Net运行时是这样处理的,收到一个请求,就从线程池分派一个线程去处理这个请求,同时也是从HttpApplication实例池中拿一个HttpApplication实例去处理,所以,一个线程可以被用于多次请求,一个HttpApplication实例,也可能被用于多个请求。

经过半个月来查找资料,我已经解决了绝大部分难题,做起来也挺麻烦的。
现在想听听大家的意见,看看大家有没有更好的实现方法。

CSDN上的地址
http://community.csdn.net/Expert/TopicView3.asp?id=5147435
我不相信神话,我只相信汗水!我不相信命运,我只相信双手!

本文转自大石头博客园博客,原文链接:http://www.cnblogs.com/nnhy/archive/2006/11/28/575221.html,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
缓存 NoSQL Java
SpringBoot实现缓存预热的几种常用方案
SpringBoot实现缓存预热的几种常用方案
|
2月前
|
存储 开发框架 NoSQL
ASP.NET WEB——项目中Cookie与Session的用法
ASP.NET WEB——项目中Cookie与Session的用法
63 0
|
2月前
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
62 0
|
1月前
|
缓存 NoSQL Java
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
案例 采用Springboot默认的缓存方案Simple在三层架构中完成一个手机验证码生成校验的程序
70 5
|
1月前
|
缓存 监控 NoSQL
SpringBoot配置第三方专业缓存技术jetcache方法缓存方案
SpringBoot配置第三方专业缓存技术jetcache方法缓存方案
92 1
|
1月前
|
存储 开发框架 .NET
ASP.NET Session的认识和解释
ASP.NET Session的认识和解释
15 1
|
2月前
|
缓存 数据库 NoSQL
【后端面经】【缓存】35|缓存问题:怎么解决缓存穿透、击穿和雪崩问题?--主从切换方案
【5月更文挑战第16天】该方案提出了解决Redis缓存穿透、击穿和雪崩问题的策略。通过使用两个或多个互为备份的Redis集群,确保在单个集群故障时,另一个可以接管。在故障发生时,业务会与备用集群保持心跳检测,并根据业务重要性分批转移流量,逐步增加对备用集群的依赖,同时监控系统稳定性。对于成本敏感的小型公司,可以采用低成本的单机或小规模自建Redis备份。此方案强调渐进式流量转移,以保护系统免受突然压力冲击。
32 1
【后端面经】【缓存】35|缓存问题:怎么解决缓存穿透、击穿和雪崩问题?--主从切换方案
|
29天前
|
缓存 NoSQL Java
Spring Boot中的分布式缓存方案
Spring Boot中的分布式缓存方案
|
1月前
|
存储 缓存 NoSQL
SpringBoot配置第三方专业缓存技术jetcache远程缓存方案和本地缓存方案
SpringBoot配置第三方专业缓存技术jetcache远程缓存方案和本地缓存方案
37 0
|
1月前
|
canal 缓存 关系型数据库
高并发场景下,6种方案,保证缓存和数据库的最终一致性!
在解决缓存一致性的过程中,有多种途径可以保证缓存的最终一致性,应该根据场景来设计合适的方案,读多写少的场景下,可以选择采用“Cache-Aside结合消费数据库日志做补偿”的方案,写多的场景下,可以选择采用“Write-Through结合分布式锁”的方案,写多的极端场景下,可以选择采用“Write-Behind”的方案。
306 0