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),些表的信 ...
随机推荐
- 从0开始,手把手教你用Vue开发一个答题App01之项目创建及答题设置页面开发
项目演示 项目演示 项目源码 项目源码 教程说明 本教程适合对Vue基础知识有一点了解,但不懂得综合运用,还未曾使用Vue从头开发过一个小型App的读者.本教程不对所有的Vue知识点进行讲解,而是手把 ...
- 一文说通Blazor for Server-Side的项目结构
用C#代替Javascript来做Web应用,是有多爽? 今天聊聊 Blazor. Blazor 是一个 Web UI 框架.这个框架允许开发者使用 C# 来创建可运行于浏览器的具有完全交互 UI ...
- spring-boot 应用 报错 No qualifying bean of type XXXXX.***Mapper
报错类型 NoSuchBeanDefinitionException.No qualifying bean of type XXXXX.***Mapper 报错信息详情 Caused by: org ...
- Linux03 /shell命令
Linux03 /shell命令 目录 Linux03 /shell命令 1. xshell快捷键 2. 修改linux的命令提示符,通过变量PS1控制 3. yum安装/卸载 4. cat命令 5. ...
- 移除hmtl5 input type=“number”的step验证
设置 step="any"例如:<input type="number" step="any" value=""& ...
- ScheduledThreadPoolExecutor源码主要部分解析
ScheduledThreadPoolExecutor继承与基础线程池类ThreadPoolExecutor并实现ScheduledExecutorService接口. 其中ScheduledExec ...
- Android调用摄像机拍照(只能拍一张,第二张自动替换)
这两天我玩了玩几天没动的Android,脑子里冒出一个注意,想用Android调用摄像机(偷拍)拍照,然后存下来,在网上百度一下就有很多人说,我也试了试,7.0以下非常轻松就成功了,因为7.0一下不用 ...
- CUDA C++ Extensions
敲代码的时候总是会去CUDA官方文档中找找思路,感觉每次看英文文档都要耗费一点时间来翻译,干脆自己翻译一下便于以后查阅.官方文档:cuda-c-language-extensions 目录 函数修饰符 ...
- smartJQueryZoom(smartZoom) 的使用方法
smartZoom 是一个我很喜欢用的库. 但是这个库有一些不完善的地方. 比如BUG. 比如使用上可能遇到的问题. <article> <div id="zoom_box ...
- JAVA集合二:HashMap和Hashtable
参考链接: HOW2J.CN HashMap HashMap实现了JAVA的Map接口,类似于C++的STL框架的Map,是存储键值对的数据结构.键(key)是唯一的,但值(value)可以重复,如果 ...