ASP.NET WP – 缓存
ASP.NET WP – 缓存
当有人从您的站点请求页面时,Web 服务器必须执行一些工作才能满足请求。因此,服务器可能必须执行需要很长时间的任务,例如从数据库中检索数据。
-
在某些情况下,如果您的站点遇到大量流量,则导致 Web 服务器执行复杂或缓慢任务的一系列单独请求可能会增加大量工作。
-
这最终会影响网站的性能。
-
提高网站性能的一种方法是缓存数据。
-
当您的站点收到重复请求相同的信息时,不需要为每个人修改信息,并且时间不敏感,因此无需重新获取或重新计算,只需获取一次数据,然后将其存储结果。
-
下次收到该信息的请求时,您只需将其从缓存中取出即可。
如何缓存数据?
让我们看一个简单的例子,我们将在第一次加载页面时缓存数据。因此,让我们创建一个名为WebCache.cshtml的新 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 缓存条目。如果返回一个值,代码只是将时间变量的值设置为缓存数据。
-
但是如果缓存条目不存在,代码会设置时间值,将其添加到缓存中,并将过期值设置为一分钟。
-
WebCache.Set(cacheItemKey, time, 1, false) 显示了如何将当前时间值添加到缓存并将其过期时间设置为 1 分钟。
让我们运行应用程序并指定以下 URL – http://localhost:50180/WebCache.cshtml,您将看到以下页面。

现在让我们在一分钟内刷新您的页面,您将看到相同的时间,这是因为时间是从缓存中加载的。