Cache快取(資料庫鏈結池)

2021-08-30 03:16:58 字數 1501 閱讀 1831

當同樣一段資料,很多人要訪問時,以前我總是不斷的從資料庫裡面讀出來到dataset中,然後慢慢的處理,但是每乙個使用者的訪問資料,都要進行同樣的步驟,感覺機子承受不了啊……

找了幾種方法,顯示用cookies技術,發現不安全啊,於是使用session變數來盛放資料,伺服器變數,安全沒有話說的,接下來發現這個session是乙個使用者建立單獨的乙個,很能消耗伺服器的資源。最後想到了快取技術,這個使用起來也簡單;可以cache.add,也可以cache.insert,還可以直接cache["key"]=value賦值;太方便了……

現在又發現了快取cache的不足之處了,那就是別人改了資料庫裡面的技術,但是你的cache中的資料還是老資料,不同步.

可以在原資料發生改變時自動通知cache,移走cache中的老資料,這就是sql快取通知技術呀!當你把sql server中的資料取出來儲存在cache中,不用怕資料過期,只要資料庫裡面的資料發生變化,cache中的資料就會移除掉……

使用這種快取通知技術的主要步驟也簡單:

1>在web.config配置檔案中新增資料庫的連線字串:在connectionstring這個地方新增

2>接下來就是在system.web這個地方新增:

這就是一些關於資料快取的一些引數設定……

3>設定允許資料快取通知,允許資料庫中的表快取通知,這裡有兩種方法

第一種:簡單一點通過aspnet_regsql這個命令來執行,至於具體的,網上多的是……

第二種:就是通過程式設計實現開發資料庫,資料庫中表的快取通知

主要的方法都在sqlcachedependencyadmin這個類裡面:

該類包含了五個重要的方法:

disablenotifications

為特定資料庫禁用 sqlcachedependency物件更改通知

disabletablefornotifications

為資料庫中的特定表禁用sqlcachedependency物件更改通知

enablenotifications

為特定資料庫啟用sqlcachedependency物件更改通知

enabletablefornotifications

為資料庫中的特定表啟用sqlcachedependency物件更改通知

gettablesenabledfornotifications

返回啟用了sqlcachedependency物件更改通知的所有表的列表

4>無論你在前面通過那種方法,只要設定好了就可以了

先建立乙個快取依賴項sqlcachedependency dep=new sqlcachedependency("mydb","users")

這裡這個mydb就是前面在web.config中sqlcachedependency定義了的乙個資料庫字串,users該資料庫的乙個表

意思就是只要這個users表發生了變化

那麼通過cache.insert("key",ds,dep)建立的資料快取中的ds與key這個一項對應就會刪除掉,

這樣就實現了快取通知……

Mysql 資料庫快取cache功能

mysql cache功能分析 1 mysql的cache功能的key的生成原理是 把select語句按照一定的hash規則生成唯一的key,select的結果生成value,即 key value。所以對於cache而言,select語句是區分大小寫的,也區分空格的。兩個select語句必須完完全...

資料庫鏈結

1 oracle8 8i 9i資料庫 thin模式 class.forname oracle.jdbc.driver.oracledriver newinstance string url jdbc oracle thin localhost 1521 orcl orcl為資料庫的sid strin...

資料庫快取

用資料庫 將要儲存的nsarray 或 nsdictionary 物件 轉為nsdata型別。再將nsdata存到資料庫的blob中。若將nsarray直接存到資料庫 那麼資料庫中儲存的是 nsstring型別的資料而不是nsarray物件本身,因此要轉為nsdata型別。方法如下 將oc物件轉為n...