ASP.NET -- WebForm --  缓存Cache的使用

把数据从数据库或文件中读取出来,放在内存中,后面的用户直接从内存中取数据,速度快。适用于经常被查询、但不经常变动的数据。

1. Test5.aspx文件与Test5.aspx.cs文件

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Test5.aspx.cs" Inherits="Test5" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="LabelCurrentTime" runat="server" Text=""></asp:Label>
<asp:Button ID="Button1" runat="server" Text="添加值至缓存" onclick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="移除缓存" onclick="Button2_Click" /><br />
<asp:ListBox ID="ListBox1" runat="server"></asp:ListBox>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; public partial class Test5 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
LabelCurrentTime.Text = DateTime.Now.ToLongTimeString(); if ( Cache["WeekData"]!=null)
{
ListBox1.DataSource = Cache["WeekData"];
ListBox1.DataBind();
}
else
{
ListBox1.DataSource = null;
ListBox1.DataBind();
}
} protected void Button1_Click(object sender, EventArgs e)
{
List<string> list = new List<string>();
list.Add("星期日");
list.Add("星期一");
list.Add("星期二");
list.Add("星期三");
list.Add("星期四");
list.Add("星期五");
list.Add("星期六");
Cache["WeekData"] = list;
}
protected void Button2_Click(object sender, EventArgs e)
{
Cache.Remove("WeekData");
}
}

2. 使用Cache

(1) 第一次访问页面,没有缓存

(2) 添加缓存值

(3) 再次访问页面,由于缓存有值,直接从缓存取值

(4) 移除缓存值

(5) 再次访问页面,由于缓存值已被移除,不能从缓存中取到数据

3. Cache中的数据是大家共享的,与Session不同。Session --> 每个用户都有自己的Session对象。

ASP.NET -- WebForm -- 缓存Cache的使用的更多相关文章

  1. ASP.NET状缓存Cache的应用-提高数据库读取速度

    原文:ASP.NET状缓存Cache的应用-提高数据库读取速度 一. Cache概述       既然缓存中的数据其实是来自数据库的,那么缓存中的数据如何和数据库进行同步呢?一般来说,缓存中应该存放改 ...

  2. ASP.NET缓存 Cache

    缓存介绍 如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能会非常差,而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能,这样无论多 ...

  3. asp.net,缓存Cache

    缓存Cache: >直接使用Cache["content"],缓存与Session不同,所有用户都可以共享.永不过期,由服务器自己维护,当内存不够时,会将老的缓存释放掉. & ...

  4. ASP.NET中使用Cache类来缓存页面的信息

    实现 如果将数据保存在全局应用程序对象Application中,值将会在程序运行时一直存在,而我们只需要缓存一段时间. ASP.NET提供了一个Cache对象来执行对象数据的缓存. Cache对象是S ...

  5. ASP.NET -- WebForm -- HttpResponse 类的方法和属性

    ASP.NET -- WebForm -- HttpResponse 类的方法和属性 1. HttpResponse 类的方法 (1) AddCacheDependency: 将一组缓存依赖项与响应关 ...

  6. ASP.NET与ASP.NET MVC 中Cache的总结

    Cache有多种翻译,可以是高速缓冲存储器,也可以是法国的服装品牌,本文只是简单的谈谈就是ASP.NET 中Cache,做过Web应用程序的都知道,如果网站访问量比较大,系统应用程序可以将那些频繁访问 ...

  7. ASP.NET Core 缓存技术 及 Nginx 缓存配置

    前言 在Asp.Net Core Nginx部署一文中,主要是讲述的如何利用Nginx来实现应用程序的部署,使用Nginx来部署主要有两大好处,第一是利用Nginx的负载均衡功能,第二是使用Nginx ...

  8. asp.net中缓存的使用介绍一

    asp.net中缓存的使用介绍一 介绍: 在我解释cache管理机制时,首先让我阐明下一个观念:IE下面的数据管理.每个人都会用不同的方法去解决如何在IE在管理数据.有的会提到用状态管理,有的提到的c ...

  9. [.net 面向对象程序设计进阶] (15) 缓存(Cache)(二) 利用缓存提升程序性能

    [.net 面向对象程序设计进阶] (15) 缓存(Cache)(二) 利用缓存提升程序性能 本节导读: 上节说了缓存是以空间来换取时间的技术,介绍了客户端缓存和两种常用服务器缓布,本节主要介绍一种. ...

随机推荐

  1. awk知识点总结

    find+xargs+grep+sed+awk系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 0.学习资料推荐 1.awk入门:看视频.找 ...

  2. 业务开发(八)—— Maven

    0x01.maven install成功后,项目旁边依然有个红叉 maven--update--选中下方Force Update of Snapsshots/Releases 0x02.An inte ...

  3. C# 隐式转换关键字 implicit

    implicit 关键字用于声明隐式的用户定义类型转换运算符. 如果可以确保转换过程不会造成数据丢失,则可使用该关键字在用户定义类型和其他类型之间进行隐式转换. 引用摘自:implicit(C# 参考 ...

  4. [转]C# serialPort 串口接收中this.Invoke的使用

    本文转自:https://blog.csdn.net/hjk216/article/details/72677596 转载地址:http://www.ciast.net/post/20160752.h ...

  5. JSJ—案例谈面向对象

    有人告诉我那里遍地都是对象——我们把所有的程序代码放在main()里面,事实上,那根本就不是面向对象的做法,在Java的面向对象中,我们也会看到类和对象的不同,以及对象是如何让你的生活更美好(至少程序 ...

  6. C#设计模式之二十职责链模式(Chain of Responsibility Pattern)【行为型】

    一.引言 今天我们开始讲“行为型”设计模式的第八个模式,该模式是[职责链模式],英文名称是:Chain of Responsibility Pattern.让我们看看现实生活中的例子吧,理解起来可能更 ...

  7. 详解margin: auto

    auto是margin的可选值之一.相信大家平时使用auto值时,最多的用法大概是 margin: 0 auto; 和 margin: auto; 不过你可能也发现了不论是 margin: auto; ...

  8. check约束

    -- 删除表 drop table check_test; -- 不为空,不为null的值只能是0,1(不为空,值只能是0,1) create table check_test( default_fl ...

  9. 【转录】原来Github上的README.md文件这么有意思——Markdown语言详解

    之前一直在使用github,也在上面分享了不少的项目和Demo,每次创建新项目的时候,使用的都是默认的README.md文件,也不曾对这个文件有过什么了解.但是在看到别人写的项目的README.md里 ...

  10. jstack 排查 java 进程占用大量 CPU 问题

    1. top 看看哪个进程是罪魁祸首 2.将这个进程的jstack dump 到一个文件里面,以备使用. jstack -l 25886 > /tmp/jstack.log # 如果报错,则加 ...