多層次結構的應用程序是目前發展的趨勢,這種程序都須要龐大的數據庫支持。而數據傳輸的能力直接影響程序性能,成爲程序可擴展性的瓶頸。所以不少開發者開始在程序中使用內存分佈式緩存來提升程序性能。 數據庫
同時,內存分佈式緩存也帶來了問題,那就是數據在緩存中如何保證與數據庫同步。若是程序使用Oracle數據庫,那麼NCache會幫你解決難題!NCache提供OracleCacheDependency(數據庫緩存依賴項),經過字符串鏈接數據庫發現被註冊的變化項。從而經過Oracle的數據庫裏的通知功能,更新相應的緩存。那麼NCache是如何幫助程序實現的呢? 緩存
簡單的說,你只需開啓Oracle數據庫的通知功能,而後添加NCache項目中的OracleCacheDependency到應用程序。總的分三個步驟完成: oracle
首先啓動Oracle數據庫的通知功能,執行代碼以下: 分佈式
1
2
|
[SQL]
"grant change notification to scott"
|
再次在你的程序中添加須要引用的NCache配置: 性能
1
2
3
|
usingAlachisoft.NCache.Web.Caching;
usingAlachisoft.NCache.Runtime.Dependencies;
usingAlachisoft.NCache.Runtime;
|
最後初始化緩存,而後建立OracleCacheDependency並添加到項目中: spa
1
2
3
4
5
6
7
8
9
|
Cache _cache = NCache.InitializeCache("oracleDependencyCache");
_cache.Clear();
String connectionString ="User Id=scott;Password=test;Data Source=oracle";
String query ="SELECT CustomerID FROM Customers WHERE CustomerID = 006";
CacheDependency orclSync =newOracleCacheDependency(connectionString, query);
_cache.Insert("Customer:006","myValue", orclSync,Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration, CacheItemPriority.Normal);
|
當你使用OracleCacheDependency添加一個緩存項目時,將被註冊數據庫。同時若是有任何觸發緩存依賴的變化,緩存將刪除之前數據,並從新加載更新的緩存數據。 orm
你能夠如今就下載試用NCache,固然初學者能夠先了解下Oracle數據庫的通知功能。 內存
NCache最新版 ci