ASP.NET中使用Cache类来缓存页面的信息
实现
如果将数据保存在全局应用程序对象Application中,值将会在程序运行时一直存在,而我们只需要缓存一段时间。
ASP.NET提供了一个Cache对象来执行对象数据的缓存。
Cache对象是System.Web.Caching.Cahe类的一个实例。并且只要对应的应用程序域保持活动,该实例便保持有效。该对象作为一个只读属性声明在HttpContext对象或Page对象中。
Cahe类的方法和属性
| 名称 | |
| Count属性 | 获取存储在缓存中的项数 | 
| Add方法 | 将指定项添加到Cache对象,该对象具有依赖性、过期和优先级策略以及一个委托 | 
| Get方法 | 从Cache对象检索指定项 | 
| Insert方法 | 从Cache对象插入项 | 
| Remove方法 | 从应用程序的Cache对象移除指定项 | 
我们在处理一些常用但没必要绝对及时的数据时,往往会用到数据缓存,比如论坛的帖子列表就是缓存了几秒的。
缓存了几秒对于小网站可能并没什么大不了的,但是对应大型网站,一秒钟就可能有成百上千的访问,对这些常用的数据进行缓存,对于数据库的压力就减少了上百倍。
新建一个Web窗体页面Cache.aspx,然后在设计视图上添加一个Label标签。
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
然后打开Cache.aspx.cs,找到页面的load事件方法

protected void Page_Load(object sender, EventArgs e)
{
DateTime time = DateTime.Now;
if(Cache["timeKey"] ==null)
{
Cache.Insert("timeKey", time, null, DateTime.Now.AddSeconds(5), TimeSpan.Zero);
}
else
{
time = DateTime.Parse(Cache["timeKey"].ToString());
}
this.Label1.Text = time.ToString();
}

运行项目,访问此页面。会出现在我们访问过后的5秒内,无论是刷新页面还是在新浏览器中访问该页面事件都不会改变。5秒后,缓存的内容销毁,重新缓存数据。
ASP.NET中使用Cache类来缓存页面的信息的更多相关文章
- ASP.net中的Cache使用介绍
		1.1.1 摘要(http://www.cnblogs.com/rush/archive/2012/06/30/2571438.html) 最近我们的系统面临着严峻性能瓶颈问题,这是由于访问量增加,客 ... 
- ASP.NET 中 POST 数据并跳转页面(译自 Redirect and POST in ASP.NET)
		本文翻译自 Samer Abu Rabie 的 <Redirect and POST in ASP.NET> 简介 在实际项目中,我们会遇到这样一种应用场景:我们需要与第三方 ... 
- ASP.NET 中HttpRuntime.Cache缓存数据
		最近在开始一个微信开发,发现微信的Access_Token获取每天次数是有限的,然后想到缓存,正好看到微信教程里面推荐HttpRuntime.Cache缓存就顺便看了下. 写了(Copy)了一个辅助类 ... 
- Asp.Net中的HttpWebRequest类与HttpWebResponse类
		相关博文:https://www.cnblogs.com/xu-yi/p/10061342.html 相关博文:https://www.cnblogs.com/zoujinhua/p/11313396 ... 
- ASP.NET中HttpContext.Cache的使用
		-------------------------------键 --值-----依赖-----过期时间-------------------------------绝对过期------------- ... 
- ASP.NET中iframe框架点击左边页面链接,右边显示链接页面内容
		首先是主页面main.aspx <body style="background-color: #AFEEEE"> <form id="form1&quo ... 
- ASP.NET中POST数据并跳转页面
		需求:先Post提交数据,然后跳转到目标页面 找了好久才发现这个神奇的类HttpHelper.原理很简单,利用html的from表单拼接,然后执行 使用方法: NameValueCollection ... 
- ASP.NET中的事件处理
		一.ASP.NET中的事件主要支持3个主要的事件组:1.包含在asp.net生成页面时自动生成,我们使用这些事件建立页面(如page_load等)2.包含了用户与页面交互时发生的所有事件(这种最强大) ... 
- ASP.net中网站访问量统计方法代码(在线人数,本月访问,本日访问,访问流量,累计访问)
		一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间 (IP_DateTime),些表的信 ... 
随机推荐
- NEST教程系列:推断索引名
			NEST教程系列:三种推断索引名写法 目录 NEST教程系列:三种推断索引名写法 连接时设置默认索引 设置 .NET 类映射索引名 在创建请求的时候直接显式指定索引名 总结 连接时设置默认索引 构建 ... 
- java 面向对象(九):类的结构:构造器(一)简介;属性赋值顺序;JavaBean的概念
			1.构造器(或构造方法):Constructor构造器的作用: * 1.创建对象 * 2.初始化对象的信息2.使用说明: * 1.如果没显式的定义类的构造器的话,则系统默认提供一个空参的构造器 * 2 ... 
- 04 drf源码剖析之版本
			04 drf源码剖析之版本 目录 04 drf源码剖析之版本 1. 版本简述 2. 版本使用 3.源码剖析 4. 总结 1. 版本简述 API版本控制使您可以更改不同客户端之间的行为.REST框架提供 ... 
- LINQ多表查询
			#region Group,Join //只有join,没有into,内联(inner join) //var sql = from c in sdb.Classic // join s in sdb ... 
- 计算机网络学习socket--day3
			1.REUSEADDR(地址重复利用) 1.REUSEADDR解决服务器关闭后重新绑定地址,在day3中知道服务器端必须绑定地址 2.服务器端尽可能使用REUSEADDR 3.在绑定之前尽可能调用se ... 
- Burp Suite Repeater Module - 中继模块
			目的:节省网页应用分析时间 目标对象:http://10.0.0.15/getboo/login.php 通过调整Request的参数,不断尝试,通过Response查看状态.从而节省在浏览器中操作的 ... 
- Spring Security 实战干货:理解AuthenticationManager
			1. 前言 我们上一篇介绍了UsernamePasswordAuthenticationFilter的工作流程,留下了一个小小的伏笔,作为一个Servlet Filter应该存在一个doFilter实 ... 
- 雪碧图——CSS Sprites(精灵)
			在日常开发打开文件包,打开static文件夹,有一张图片,里面融合了这个应用都会用到的小图标,其实,主要是减少应用渲染出现繁多的请求,加速页面渲染. 解决方案:使用css背景定位 icon {widt ... 
- 重学c#系列——非托管实例(五)
			前言 托管资源到是好,有垃圾回收资源可以帮忙,即使需要我们的一些小小的调试来优化,也是让人感到欣慰的.但是非托管资源就显得苍白无力了,需要程序员自己去设计回收,同样有设计的地方也就能体现出程序员的设计 ... 
- three.js 制作魔方
			因为之前的几节讲了一些数学方法,例如Vector3.Matrix4.Euler还有Quaternion的知识.所以这篇郭先生就来说说用three.js怎么制作一个魔方.在线案例请点击博客原文 制作魔方 ... 
