数据库缓存机制配置
?
數據庫緩存機制配置
看了老大蘇鵬的webcast講為sql緩存依賴項..自已動手做了一下為sql設置緩存
第一步:為 SQL 緩存依賴項啟用該數據庫。
打開Visual Studio2005命令提示,如圖.
?
將進入如。并輸入
aspnet_regsql.exe -S (local) -E -ed -d Northwind -et -t Employee
這里的-S為你的sql服務器
-E說明為集成window驗證.
-et配置sql緩存依賴項
-d 是你將要被緩存的數據庫,-t 緩存表
等等。
你可以用aspnet_regsql.exe -?查看.
?
配置成功后
?將看到有如下一個表(AspNet_SqlCacheTablesForChangeNotification)在Northwind中
?
并且存在如下一些存儲過程
?
上述配置完后.
?
第二步。建web網站
新建一個web網站。在web.config中輸入如下:
<?xml?version="1.0"?encoding="utf-8"?>
<!--?
????注意:?除了手動編輯此文件以外,您還可以使用?
????Web?管理工具來配置應用程序的設置。可以使用?Visual?Studio?中的
?????“網站”->“Asp.Net?配置”選項。
????設置和注釋的完整列表在?
????machine.config.comments?中,該文件通常位于?
????\Windows\Microsoft.Net\Framework\v2.x\Config?中
-->
<configuration>
??<connectionStrings>
????<add?name="conn"?connectionString="server=.;database=Northwind;uid=sa;pwd='';"?providerName="System.Data.SqlClient"/>
????
??</connectionStrings>
????
?
??
????<system.web>
??????<caching>
????????<sqlCacheDependency?enabled="true"?pollTime="1000">
??????????<databases>
????????????<add?name="Northwind"?connectionStringName="conn"?pollTime="1000"/>
????????????
??????????</databases>
??????????
??????????
????????</sqlCacheDependency>
????????
??????</caching>
????????<!--?
????????????設置?compilation?debug="true"?將調試符號插入
????????????已編譯的頁面中。但由于這會?
????????????影響性能,因此只在開發過程中將此值?
????????????設置為?true。
????????-->
????????<compilation?debug="false"?/>
????????<!--
????????????通過?<authentication>?節可以配置?ASP.NET?使用的?
????????????安全身份驗證模式,
????????????以標識傳入的用戶。?
????????-->
????????<authentication?mode="Windows"?/>
????????<!--
????????????如果在執行請求的過程中出現未處理的錯誤,
????????????則通過?<customErrors>?節可以配置相應的處理步驟。具體說來,
????????????開發人員通過該節可以配置
????????????要顯示的?html?錯誤頁
????????????以代替錯誤堆棧跟蹤。
????????<customErrors?mode="RemoteOnly"?defaultRedirect="GenericErrorPage.htm">
????????????<error?statusCode="403"?redirect="NoAccess.htm"?/>
????????????<error?statusCode="404"?redirect="FileNotFound.htm"?/>
????????</customErrors>
????????-->
????</system.web>
</configuration>
在default.aspx頁面中輸入
<%@?OutputCache?Duration="600"?SqlDependency="Northwind:Employees"?VaryByParam="none"?%>
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html?xmlns="http://www.w3.org/1999/xhtml"?>
<head?runat="server">
????<title>無標題頁</title>
</head>
<body>
????<form?id="form1"?runat="server">
????<div?style="width:100px">
????
????
????</div>
????????<asp:GridView?ID="GridView1"?runat="server"?AutoGenerateColumns="False"?DataKeyNames="EmployeeID"?DataSourceID="SqlDataSource1"
???????????>
????????????<Columns>
????????????????<asp:BoundField?DataField="EmployeeID"?HeaderText="EmployeeID"?InsertVisible="False"
????????????????????ReadOnly="True"?SortExpression="EmployeeID"?/>
????????????????<asp:BoundField?DataField="LastName"?HeaderText="LastName"?SortExpression="LastName"?/>
????????????????<asp:BoundField?DataField="FirstName"?HeaderText="FirstName"?SortExpression="FirstName"?/>
????????????</Columns>
????????</asp:GridView>
????????<asp:SqlDataSource?ID="SqlDataSource1"?runat="server"?ConnectionString="<%$?ConnectionStrings:conn?%>"
????????????SelectCommand="SELECT?[EmployeeID],?[LastName],?[FirstName]?FROM?[Employees]"></asp:SqlDataSource>
???????? <br?/>
???????? 當前時間
????????<asp:Label?ID="Label1"?runat="server"?Text="Label"></asp:Label>
????
????
?
????</form>
</body>
</html>
在后臺的cs中。
????{
????????this.Label1.Text?=?System.DateTime.Now.ToString();
}
工作完成了,結果。當我們每次刷新,時間都不會變,因為緩存了頁面。
------------------------------------------------------------------
?
------------------------------------------------------------------
當我們修改數據庫中的Employees的字段后 .修改了第9條記錄。。
------------------------------------------------------------------
?
------------------------------------------------------------------
發現了嗎。
時間變了。。。當我們只要修改數據庫后就發生了改變
示例下載
/Files/suiqirui19872005/demo6.rar
轉載于:https://www.cnblogs.com/lsgoodsun/archive/2007/10/09/918308.html
總結
- 上一篇: Linux下mysql 5.x得到roo
- 下一篇: JS收藏