最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VB.NET中Caching的使用方法

 更新時間:2013年04月28日 16:21:58   作者:  
Caching緩存,就是將一些生成代價比較大的常用數(shù)據(jù),保存起來重用。一般數(shù)據(jù)都保存在內(nèi)存中,因為從內(nèi)存中讀取數(shù)據(jù)比從數(shù)據(jù)庫等其他地方要快。

ASP.NET通過兩種方式支持緩存:通過Cache API存儲任意數(shù)據(jù),通過頁面輸出緩存經(jīng)常被訪問的頁面。讓我們來看一個例子。

一個電子商務(wù)的站點(diǎn), 它的目錄一般一周更新一次。站點(diǎn)提供了一套用戶界面讓客戶訂購產(chǎn)品。當(dāng)一個客戶瀏覽目錄時,系統(tǒng)將通過網(wǎng)絡(luò)去查詢數(shù)據(jù)庫,進(jìn)行各種計算,最后返回結(jié)果。

從服務(wù)器查詢這些目錄數(shù)據(jù)的操作是很頻繁的。我們知道,這些數(shù)據(jù)一周才變化一次。所以以下的幾種操作將帶來性能上的損失。

1. 執(zhí)行ASP.NET的程序生成對數(shù)據(jù)庫的查詢語句。
2. 通過網(wǎng)絡(luò),和數(shù)據(jù)庫服務(wù)器進(jìn)行通訊。
3. 數(shù)據(jù)庫服務(wù)器編譯執(zhí)行查詢(或是執(zhí)行儲存過程)。

緩存機(jī)制可以減少許多這樣的工作,提高應(yīng)用的性能和伸縮性。我們能緩存結(jié)果以便能靜態(tài)的處理客戶請求,來提高性能。同時,由于減少了處理每個請求使用的資源,因此也提高了系統(tǒng)的伸縮性。

Cache API對于ASP開發(fā)人員來說,把常用的數(shù)據(jù)保存在內(nèi)存里,并不是一個全新的概念。在ASP里,有兩個對象完成它。

Session 對象

Application 對象

Session用來保存單個用戶在多個請求間共享的數(shù)據(jù),雖然在ASP.NET中有一些小的改動,但這些改動主要是在應(yīng)用級的,對Session對象來說,仍然是一個保存鍵與鍵值對的集合。Application對象在ASP.NET也被保存下來了,同樣是鍵與鍵值對的集合。在ASP和ASP.NET中,我們都可以使用以下代碼來操作Application 對象

復(fù)制代碼 代碼如下:

Application("SomeInterestingData") = "Example data"
Response.Write(Application("SomeInterestingData")

我們可以使用同樣的方法訪問Session對象。

ASP.NET帶來了一個新的鍵與鍵值的對象—Cache.除了存儲鍵與鍵值對外,Cache對象還提供了另外的一些存儲短期數(shù)據(jù)的新功能:依賴—當(dāng)一個鍵插入Cache對象時,我們可以設(shè)置它的依賴性。當(dāng)依賴的對象改變時,這個鍵將被刪除。現(xiàn)在支持的依賴對象有文件,其他的鍵和時間。自動失效—沒有依賴的鍵值,當(dāng)使用頻率不高時,將被自動刪除。支持回調(diào)—當(dāng)一個鍵將被刪除時,我們可以得到一個事件,在這個事件中來更新鍵值或取消刪除操作。
當(dāng)我們在使用Cache對象時,必須注意這一點(diǎn):使用Cache對象中的鍵值之前,必須每一次都檢查鍵值是否存在。由于在Cache對象中的鍵值由于其依賴或者使用頻率較低,都會被刪除,所以,每一次使用Cache中的對象,都必須檢查是否存在。例如,我們可以用如下一段代碼來返回DataSet.

復(fù)制代碼 代碼如下:

Private Function LoadDataSet() As DataSet
Dim sqlConnection As SQLConnection
Dim sqlAdapater As SQLDataSetCommand
Dim datasetProducts As New DataSet()
Dim sqlDSN As String
Dim sqlSelect As String
" Connection String and Select statement
sqlDSN = "server=localhost;uid=sa;pwd=;database=grocertogo"
sqlSelect = "Select * From Products"
" Connect
sqlConnection = new SQLConnection(sqlDSN)
sqlAdapater = new SQLDataSetCommand(sqlSelect, sqlConnection)
" Fill dataset create product table
sqlAdapter1.FillDataSet(datasetProducts, "products")
Return products
End Function
我們很容易用Cache對象來改寫這段代碼,使只在DataSet不存在在Cache中才調(diào)用LoadDataSet()。
Public Function GetProductData() As DataSet
If (IsNothing(Cache("ProductData")) Then
Cache("ProductData") = LoadDataSet()
Return Cache("ProductData")
End Function

Cache對象在許多地方和Application對象有許多相似之處,而最大的不同是Cache支持了依賴。

相關(guān)文章

  • C#操作SQLite數(shù)據(jù)庫之讀寫數(shù)據(jù)庫的方法

    C#操作SQLite數(shù)據(jù)庫之讀寫數(shù)據(jù)庫的方法

    這篇文章主要介紹了C#操作SQLite數(shù)據(jù)庫之讀寫數(shù)據(jù)庫的方法,簡單分析了C#針對SQLite數(shù)據(jù)庫的讀寫及顯示等操作相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-07-07
  • 獲取wince mac地址與IP地址解決方案

    獲取wince mac地址與IP地址解決方案

    由于需要進(jìn)行身份的驗證,需要獲取移動終端的MAC地址,于是在網(wǎng)上進(jìn)行搜索整理一番,現(xiàn)在將實現(xiàn)獲取MAC地址的方法與大家共享
    2012-12-12
  • C#使用GDI繪制矩形的方法

    C#使用GDI繪制矩形的方法

    這篇文章主要介紹了C#使用GDI繪制矩形的方法,涉及C#使用GDI繪圖的相關(guān)技巧,需要的朋友可以參考下
    2015-04-04
  • C#代碼實現(xiàn)短信驗證碼接口示例

    C#代碼實現(xiàn)短信驗證碼接口示例

    這篇文章主要為大家詳細(xì)介紹了C#實現(xiàn)短信驗證碼接口示例代碼,感興趣的小伙伴們可以參考一下
    2016-08-08
  • 詳解C#調(diào)用matlab生成的dll庫

    詳解C#調(diào)用matlab生成的dll庫

    這篇文章主要介紹了C#調(diào)用matlab生成的dll庫,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • C# 獲取IP及判斷IP是否在區(qū)間

    C# 獲取IP及判斷IP是否在區(qū)間

    本文主要介紹了C# 獲取IP及判斷IP是否在區(qū)間的方法。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • C#中的Internal關(guān)鍵字小結(jié)

    C#中的Internal關(guān)鍵字小結(jié)

    這篇文章主要介紹了C#中的Internal關(guān)鍵字小結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • c# 計算時間間隔的簡單方法(推薦)

    c# 計算時間間隔的簡單方法(推薦)

    下面小編就為大家?guī)硪黄猚# 計算時間間隔的簡單方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • C# swagger ui增加訪問限制方式

    C# swagger ui增加訪問限制方式

    本文介紹了如何在C#中使用Swagger UI并增加訪問限制,通過創(chuàng)建`SwaggerBasicAuthMiddleware`類和`MiddlewareExtension`類,并在`Startup.cs`的`Configure`方法中注入`app.UseSwaggerBasicAuth()`,從而實現(xiàn)對Swagger頁面的訪問控制
    2025-02-02
  • C#遍歷刪除字符串中重復(fù)字符

    C#遍歷刪除字符串中重復(fù)字符

    這篇文章主要介紹了C#遍歷刪除字符串中重復(fù)字符的方法,涉及C#遍歷字符串的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04

最新評論

武功县| 沙雅县| 墨竹工卡县| 隆尧县| 金塔县| 绿春县| 贺兰县| 和顺县| 蒲江县| 东兴市| 聊城市| 辽源市| 苍山县| 滕州市| 闸北区| 六盘水市| 徐水县| 苏尼特右旗| 家居| 文山县| 闵行区| 乐至县| 郯城县| 洞头县| 调兵山市| 江华| 闸北区| 上高县| 雅安市| 德阳市| 光泽县| 馆陶县| 板桥市| 银川市| 靖安县| 辽中县| 基隆市| 贡嘎县| 黄浦区| 滦南县| 平昌县|