当有人从您的网站请求页面时,Web服务器必须执行一些工作才能完成请求.因此,服务器可能必须执行需要很长时间的任务,例如从数据库中检索数据.
In在某些情况下,如果您的网站遇到大量流量,导致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 ,您将看到以下页面.
现在让我们在一分钟内刷新你的页面,你会看到同一时间,这是因为从缓存中加载了时间.