亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#緩存之SqlCacheDependency用法實例總結

2020-01-24 02:32:55
字體:
來源:轉載
供稿:網友

本文整理匯總了C#緩存的數據庫依賴類SqlCacheDependency的使用方法,具體內容如下:

1、數據庫依賴類SqlCacheDependency

數據庫緩存依賴主要解決的是當數據庫的內容發生改變時,如何及時通知緩存,并更新緩存中的數據的問題。

語法定義:

SqlCacheDependency類主要的構造函數如下:

public SqlCacheDependency(string database,string table)

其中參數一代表要啟用緩存的數據庫,參數二表示緩存的表。在實際使用過程中,只需要指明緩存的數據庫和表即可。

方法是屬性的應用(代碼與CacheDependency類似),不過Sql需要先進行一下對web.config進行配置和設置數據庫的緩存配置一下才可以使用SqlCacheDependency緩存類

首先web.config配置如下:

<!--連接數據庫語句--> <configuration> <connectionStrings>  <add name="Config" connectionString="Data Source=.;Initial Catalog=CacheData;Persist Security Info=True;User ID=sa;Password=123" providerName="System.Data.SqlClient"/> </connectionStrings> <!--在system.web節點下添加--><!--注意事項:配置中add name值為數據庫名,connectionStringName為連接數據庫字段的名稱要相同--> <caching><sqlCacheDependency enabled="true" pollTime="1000"><databases> <add name="CacheData" connectionStringName="Config" pollTime="1000"/></databases></sqlCacheDependency></caching>

2、Vs緩存配置:

 打開“開始”|“所有程序”|“Microsoft Visual Studio 2010”|“Visual Studio Tools”|“Visual Studio 2010命名提示”菜單命令。

 在命令框內輸入:aspnet_regsql.exe -S  SqlServer服務器  -U <Username> -P <Password> -ed -d 數據庫名稱 -et -t 表名

  若無身份驗證輸入:aspnet_regsql.exe -S  SqlServer服務器  -ed -d 數據庫名稱 -et -t 表名

 執行命令即可;

3、頁面代碼;

private static SqlCacheDependency MyDep;    protected void Page_Load(object sender, EventArgs e)    {      Label1.Text = DateTime.Now.ToString();      if (!IsPostBack)      {        //Cache為數據庫名,T_SqlCache為緩存表                DataSet ds = GetSet();        if (Cache["SqlCon"] == null)        {          //添加緩存SqlCon,緩存值為數據庫表內容,          MyDep = new SqlCacheDependency("Cache", "T_SqlCache");          Cache.Add("SqlCon", ds, MyDep, DateTime.Now.AddSeconds(60), TimeSpan.Zero, CacheItemPriority.Normal, null);        }               }    }         protected void Button1_Click(object sender, EventArgs e)    {      if (MyDep.HasChanged)      {//當數據庫值更改時提醒;        Response.Write("數據庫修改時間為:"+MyDep.UtcLastModified);      }      if (Cache["SqlCon"] == null)      {//當緩存過期或數據庫值修改后緩存從新加載        MyDep = new SqlCacheDependency("Ajax", "T_AjaxLD");        DataSet ds = GetSet();        Cache.Add("SqlCon", ds, MyDep, DateTime.Now.AddSeconds(60), TimeSpan.Zero, CacheItemPriority.Normal, null);      }      this.GridView1.DataSource = Cache["SqlCon"];//綁定數據      this.GridView1.DataBind();    }    /// <summary>    /// 生成Dataset    /// </summary>    /// <returns></returns>    private DataSet GetSet()    {      DataSet ds = new DataSet();      string sql = "select * from T_SqlCache";      string Config = ConfigurationManager.ConnectionStrings["Config"].ConnectionString;//連接數據庫語句      using (SqlConnection cnn = new SqlConnection(Config))      {        using (SqlCommand cmm = new SqlCommand(sql, cnn))        {          SqlDataAdapter dapter = new SqlDataAdapter(cmm);          dapter.Fill(ds);        }      }       return ds;    }

C#緩存基本內容就差不多這些,一些應用需要在實踐中總結出來,此處順便分析一下session和Cache的區別:

Session和Cache的區別:

以前實現數據的緩存有很多種方法,有客戶端的Cookie,有服務器端的Session和Application。其中Cookie是保存在客戶端的一組數據,主要用來保存用戶名等個人信息。Session則保存對話信息。Application則是保存在整個應用程序范圍內的信息,相當于全局變量。通常使用最頻繁的是Session,那么Session和Cache又有什么區別呢?

本節結合使用經驗,詳細介紹Session緩存和Cache緩存的區別如下:

(1)最大的區別是Cache提供緩存依賴來更新數據,而Session只能依靠定義的緩存時間來判斷緩存數據是否有效。

(2)即使應用程序終止,只要Cache.Add方法中定義的緩存時間未過期,下次開啟應用程序時,緩存的數據依然存在。而Session緩存只是存在于一次會話中,會話結束后,數據也就失效了。

(3)Session容易丟失,導致數據的不確定性,而Cache不會出現這種情況。

(4)由于Session是每次會話就被加載,所以不適宜存放大量信息,否則會導致服務器的性能降低。而Cache則主要用來保存大容量信息,如數據庫中的多個表。

(5)VS2005的測試版提供了將緩存保存在硬盤上的參數,但正式版中取消了這個功能,估計其在以后版本中會重新實現。而Session目前只能保存在內存中,對其性能有影響。

此外,需要特別注意:為了提高Cache的有效利用率,建議對于不經常改動的數據使用Cache。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美在线中文字幕| 海角国产乱辈乱精品视频| 中文字幕欧美精品日韩中文字幕| 亚洲精品一区二三区不卡| 久久福利网址导航| 国产精品99久久久久久久久久久久| 91老司机在线| 亚洲在线视频福利| 亚洲精品成人av| 亚洲一区二区三区777| 国产欧美日韩免费看aⅴ视频| 久久久91精品| 国产成人激情小视频| 国内外成人免费激情在线视频| 国产美女精品视频免费观看| 成人福利网站在线观看| 日韩精品中文字| 国产精品福利久久久| 在线日韩日本国产亚洲| 亚洲裸体xxxx| 国产97在线播放| 久久久国产一区二区三区| 久久视频在线直播| www.国产一区| 精品国产区一区二区三区在线观看| 91在线视频导航| 亚洲国产成人精品久久久国产成人一区| 午夜精品一区二区三区av| 日韩hd视频在线观看| 亚洲欧美第一页| 精品国产乱码久久久久久婷婷| 欧美性做爰毛片| 精品无人区太爽高潮在线播放| 亚洲一区二区三区乱码aⅴ蜜桃女| 成人av在线天堂| 中文字幕一区二区精品| 热久久美女精品天天吊色| 久久国产精品久久久久久久久久| 欧美精品日韩www.p站| 亚洲精品福利在线观看| 日本精品视频在线观看| 欧美日韩人人澡狠狠躁视频| 国产精品毛片a∨一区二区三区|国| 日本不卡免费高清视频| 4388成人网| 久久人人爽人人爽人人片av高请| 日韩人体视频一二区| 色噜噜狠狠狠综合曰曰曰| 欧美性在线视频| xvideos亚洲| 成人深夜直播免费观看| 色噜噜狠狠狠综合曰曰曰88av| 色悠悠国产精品| 亚洲一级一级97网| 欧美激情视频播放| 69**夜色精品国产69乱| 欧美一级视频免费在线观看| 国产精品一区二区电影| 色午夜这里只有精品| 欧美日韩亚洲一区二区| 国产三级精品网站| 欧美日韩国产一区中文午夜| 51精品在线观看| 日韩欧美在线中文字幕| 亚洲国产成人一区| 欧美一区第一页| 狠狠躁天天躁日日躁欧美| 亚洲精品电影久久久| 9.1国产丝袜在线观看| 国产精品人成电影在线观看| 久久久久中文字幕| 亚洲影院在线看| 亚洲一区二区三区乱码aⅴ| 色香阁99久久精品久久久| 久久久久这里只有精品| 亚洲高清久久久久久| 欧美在线视频免费播放| 欧美性色19p| 97国产在线观看| 久久久久www| 91精品国产99久久久久久| 国产亚洲精品久久久久动| 国产精品视频公开费视频| 欧美在线激情网| 国产成人高潮免费观看精品| 欧美成年人视频| 久久久久免费精品国产| 欧美巨猛xxxx猛交黑人97人| 欧美中文在线视频| 91精品国产综合久久香蕉| 日韩最新av在线| 国产一区二区黑人欧美xxxx| 欧美久久精品一级黑人c片| 国产乱人伦真实精品视频| 欧美午夜www高清视频| 日韩在线视频免费观看高清中文| 国产精品扒开腿爽爽爽视频| 国产精品www色诱视频| 亚洲精品国产品国语在线| 一本一道久久a久久精品逆3p| 亚洲精品动漫久久久久| 成人xvideos免费视频| 亚洲毛片在线免费观看| 欧美激情久久久| 欧美理论电影在线观看| 亚洲欧美一区二区三区在线| 色一情一乱一区二区| 日韩av在线免费观看| 日本久久亚洲电影| 这里只有精品久久| 国产精品视频精品视频| 亚洲精品久久久久久久久久久久| 日本精品一区二区三区在线| 韩国日本不卡在线| 性色av一区二区三区红粉影视| 国产日韩欧美中文| 日韩免费av一区二区| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲色图15p| 亚洲精品中文字幕有码专区| 亚洲成人三级在线| 正在播放国产一区| 国产精品久久久久久久久久久久| 亚洲理论电影网| 亚洲三级av在线| 不卡毛片在线看| 欧美精品做受xxx性少妇| 亚洲电影免费观看高清完整版在线观看| 国产精品久久久久久久久久久久久| 欧美精品www| 91精品国产色综合久久不卡98| 国产精自产拍久久久久久| 久久大大胆人体| 日韩一区二区在线视频| 国产精品欧美一区二区三区奶水| 亚洲欧美制服另类日韩| 国产一区视频在线| 97精品一区二区视频在线观看| 国产精品久久久久久婷婷天堂| 久久成人18免费网站| 国产69精品久久久久99| 亚洲国产另类 国产精品国产免费| 国产成人精品免费久久久久| 深夜福利日韩在线看| 成人www视频在线观看| 亚洲免费人成在线视频观看| 国产在线视频一区| 日韩欧美国产中文字幕| 国产成人精品综合久久久| 欧美午夜xxx| 国产日韩欧美日韩| 成人国产精品一区二区| 久久免费福利视频| 亚洲а∨天堂久久精品喷水| 国产成人高潮免费观看精品| 久久影院中文字幕| 欧美精品www在线观看| 98视频在线噜噜噜国产| 欧美主播福利视频| 欧美成在线观看| 亚洲图片欧洲图片av| 久久99热精品这里久久精品| 中文字幕日韩欧美| 欧美日韩福利电影|