- ASP.NET WP 教程
- ASP.NET WP - 首页
- ASP.NET WP - 概述
- ASP.NET WP - 环境设置
- ASP.NET WP - 开始
- ASP.NET WP - 视图引擎
- 项目文件夹结构
- ASP.NET WP - 全局页面
- ASP.NET WP - 编程概念
- ASP.NET WP - 布局
- ASP.NET WP - 使用表单
- ASP.NET WP - 页面对象模型
- ASP.NET WP - 数据库
- ASP.NET WP - 向数据库添加数据
- ASP.NET WP - 编辑数据库数据
- ASP.NET WP - 删除数据库数据
- ASP.NET WP - WebGrid
- ASP.NET WP - 图表
- ASP.NET WP - 使用文件
- ASP.NET WP - 使用图像
- ASP.NET WP - 使用视频
- ASP.NET WP - 添加电子邮件
- ASP.NET WP - 添加搜索
- 向网站添加社交网络功能
- ASP.NET WP - 缓存
- ASP.NET WP - 安全性
- ASP.NET WP - 发布
- ASP.NET WP 有用资源
- ASP.NET WP - 快速指南
- ASP.NET WP - 有用资源
- ASP.NET WP - 讨论
ASP.NET WP - 缓存
当有人请求您网站上的页面时,Web服务器必须进行一些工作才能满足请求。因此,服务器可能必须执行一些需要很长时间的任务,例如从数据库检索数据。
在某些情况下,如果您的网站访问量很大,一系列导致 Web 服务器执行复杂或缓慢任务的单个请求会累积大量工作。
这最终会影响网站的性能。
提高网站性能的一种方法是缓存数据。
当您的网站收到对相同信息的重复请求时,并且该信息不需要为每个人修改,并且它不是时间敏感的,因此您可以一次获取数据并存储结果,而不是重新获取或重新计算它。
下次请求该信息时,您只需从缓存中获取它。
如何缓存数据?
让我们来看一个简单的示例,在这个示例中,我们将在页面第一次加载时缓存数据。因此,让我们创建一个新的 CSHTML 文件,命名为 **WebCache.cshtml**,并替换以下代码。
@{ var cacheItemKey = "CachedTime"; var cacheHit = true; var time = WebCache.Get(cacheItemKey); if (time == null){ cacheHit = false; } if (cacheHit == false){ time = @DateTime.Now; WebCache.Set(cacheItemKey, time, 1, false); } } <!DOCTYPE html> <html> <head> <title>WebCache Helper Sample</title> </head> <body> <div> @if (cacheHit){ @:Found the time data in the cache. } else { @:Did not find the time data in the cache. } </div> <div> This page was cached at @time. </div> </body> </html>
正如您在上面的代码中看到的,当我们缓存数据时,我们将使用在整个网站中唯一的名称将其放入缓存中。在本例中,我们将使用名为 **CachedTime** 的缓存条目。这是 **cacheItemKey**。
代码首先读取 CachedTime 缓存条目。如果返回一个值,代码只需将 time 变量的值设置为缓存数据。
但是,如果缓存条目不存在,代码将设置 time 值,将其添加到缓存中,并将过期值设置为一分钟。
WebCache.Set(cacheItemKey, time, 1, false)
显示如何将当前时间值添加到缓存中并将其过期时间设置为 1 分钟。
让我们运行应用程序并指定以下网址 - **https://127.0.0.1:50180/WebCache.cshtml**,您将看到以下页面。
现在,让我们在一分钟内刷新您的页面,您将看到相同的时间,这是因为时间是从缓存中加载的。
广告