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);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界