程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 數據庫組件 Hxj.Data (二十三) (自定義緩存)

數據庫組件 Hxj.Data (二十三) (自定義緩存)

編輯:關於ASP.NET

配置的緩存並不能滿足我們的需求,例如有時候需要刷新緩存,或者某次查詢緩存時間或者緩存依賴 不一樣等。

刷新緩存

例如:

DbSession.Default.From<Products>().Where(Products._.ProductID == 1).Refresh ().ToFirst();

Refresh()方法設置了刷新緩存,即不從緩存中讀取,直接從數據庫讀取最新數據,並重新緩存。

設置查詢的緩存有效期。

例如:

DbSession.Default.From<Products>().Where(Products._.ProductID == 1).SetCacheTimeOut(180).ToFirst();

設置該查詢的緩存時間為180秒。

該設置會覆蓋默認緩存配置,並且緩存配置中沒有實體設置,也會緩存。

當下次執行:

DbSession.Default.From<Products>().Where(Products._.ProductID == 1).ToFirst();

在180秒內緩存有效。

設置緩存依賴。

例如:

System.Web.Caching.CacheDependency cacheDep = new System.Web.Caching.CacheDependency (Server.MapPath("~/2.txt"));

DbSession.Default.From<Products>().Where(Products._.ProductID == 1).SetCacheDependency(cacheDep).ToFirst();

設置該查詢緩存的緩存依賴為2.txt文件。

該設置會覆蓋默認緩存配置,並且緩存配置中沒有實體設置,也會緩存。

當再次執行:

DbSession.Default.From<Products>().Where(Products._.ProductID == 1).ToFirst();

如果2.txt文件沒有改變,緩存是不會失效的。

當然這幾個方法也可以同時使用。

緩存是根據生成的sql作為緩存依據的,所以寫法確保一致,特別是條件的先後順序,才能有效利用緩 存,否則就要浪費內存了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved