- 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://:50180/WebCache.cshtml**,您將看到以下頁面。
現在,讓我們在一分鐘內重新整理您的頁面,您將看到相同的時間,這是因為時間是從快取中載入的。
廣告