web程序入门六(缓存)

缓存是把数据存在服务端

缓存的数据是共享的,任何用户来获取的数据都是一样的;

对于某些数据,经常被查询,但是不怎么改动。这样的数据放在缓存中。

 缓存改善网站性能

缓存分类:页面缓存、数据源缓存、自定义缓存

 

自定义缓存:

将数据放入缓存:

Cache["key1"] = "abc";        项目中直接使用这种方法

Cache.Insert("key1","abc",null,DateTime.Now.AddMinutes(20),TimeSpan.Zero);   同上

DateTime.Now.AddMinutes(20) 设置过期时间为20分钟

Cache.REmove("key1")  删除缓存

Asp.net自带缓存类似session

 

页面缓存:

将整个第一次返回的HTML代码缓存起来

在aspx页面中加入<%@ OutputCache  Druation="5"  VaryByParam="*"%>

Druation="5"  缓存五秒

VaryByParam   根据参数来缓存页面

VaryByParam="ID"  根据不同的参数ID来缓存页面

VaryByParam="*"   根据所有的参数来缓存页面

 

 数据源缓存:

数据源控件缓存 objectsource

如 ListView 控件   在属性中添加缓存时间

 

文件缓存依赖:

数据源是一个文件

当数据源中数据改变,通过文件缓存依赖项,来通知缓存

string  fileContent = File.ReadAllText(@"c:\test.txt")  ;

CacheDependency   cacheDepend  = new  CacheDependency(@"c:\test.txt")    创建文件缓存依赖项

Cache.Insert(“key1” ,fileContent,cacheDepend  )

 

 数据库缓存依赖:

<add  name="mysqlDb"  connectionStringName="conStr2"  pollTime="15000">   连接字符串

string sql = "select * from ClassInfo";

DataTable  da = SqlHelper.GetTable(sql, CommandType.Text);

SqlCacheDependency   sqlchache = new  SqlCacheDependency(“mysqlDb”,“classInfo”);      classInfo监测的表名

Cache.Insert("key1", da, sqlchache);

 

posted on   yanmay  阅读(179)  评论(0编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示