ASP.NET中Memcached
一,準備
你需要有一下軟體:
VS.NET(05/08)
SQLSERVER
memcached伺服器端以及客戶端類庫(開源軟體,下載即可)
其中,客戶端類庫包括以下幾個DLL:
Memcached.ClientLibrary.dll
ICSharpCode.SharpZipLib.dll
log4net.dll
二,安裝memcached伺服器端
將memcached.exe複製到任意目錄下,如
c:,在命令列輸入:
memcached.exe -d install
memcached將作為一個服務常駐系統記憶體了
三,建立ASP.NET工程
建立一個ASP.NETWEB專案,命名為MMCWEB,新增以上提到的幾個客戶端類庫的引用。
四,配置
memcached使用了log4net,所以我們先配置log4net
在web.config裡找到configSections節點,新增以下內容
再在configSections節點之外,增加以下內容:
啟動除錯,若沒出現配置的出錯提示,並且在網站目錄下有資料夾LogFiles,就說明log4net配置成功了。
五,初始化SockIOPool
SockIOPool是什麼東東?SockIOPool是Memcached客戶端提供的一個套接字連線池,通俗講,就是與Memcached伺服器端交換資料的物件。SockIOPool在應用程式啟動時初始化一次就可以了,我把這個工作放在
GLOBAL.ASAX.CS的Application_Start方法裡
char[] separator = { ','
};
string[] serverlist =
ConfigurationManager.AppSettings["Memcached.ServerList"].Split(separator);
// initialize the pool for memcache servers
try
{
SockIOPool pool =
SockIOPool.GetInstance();
pool.SetServers(serverlist);
pool.InitConnections =
3;
pool.MinConnections = 3;
pool.MaxConnections = 50;
pool.SocketConnectTimeout =
1000;
pool.SocketTimeout = 3000;
pool.MaintenanceSleep = 30;
pool.Failover =
true;
pool.Nagle = false;
pool.Initialize();
}
catch (Exception
err)
{
//這裡就可以用Log4Net記錄Error啦!
}
注意AppSettings["Memcached.ServerList"]是在WEB.CONFIG裡設定的,所以WEB.CONFIG的appSettings的子節點裡需要有以下一行
啟動除錯伺服器,若沒有出錯的日誌記錄,說明IO連線池已經開闢成功。
六,使用Memcached
終於進入正題了,不過使用之前,我們還需要準備一些資料。
建立一個實體類People,並加上Serializable屬性!!!
對應的資料庫裡,增加一張表,欄位對應實體類,插入一些測試資料。持久層和業務層的設計就略過了,他們負責向提供一些資料,返回型別可自定,若ILIST,DATASET。
Memcached使用起來就很簡單了,比如後臺檢索出一組People型別的資料,放在一個叫peopleList的arraylist裡,而且這個arraylist要頻繁使用,只需要這樣
MemcachedClient
mc = new MemcachedClient();
mc.EnableCompression = true;
mc.Set(key,
peopleList);
上面的key是用來訪問這個arraylist的鍵,Memcached裡的資料都是儲存為鍵-值對的。
一旦mc.KeyExists(key)為TRUE,就用return
mc.Get(key) as ArrayList提取資料,刪除時,使用 return
mc.Delete(key);等等。可以自己琢磨了。
以上只是演示,其實資料快取是一項複雜而繁瑣的工作,不僅需要後臺程式碼的分層優化,也需要資料庫對大資料量訪問的策略和調優。
原文地址:http://www.cnblogs.com/mingh/archive/2009/11/06/1597266.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-618270/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- memcached安裝及.NET中的Memcached.ClientLibrary使用詳解client
- Memcached
- C#呼叫Couchbase中的Memcached快取C#快取
- Memcached筆記——(三)Memcached使用總結筆記
- Memcached 協議協議
- Memcached 原理剖析
- 安裝 Memcached
- memcached 安裝
- memcached深度分析
- redis和memcachedRedis
- Memcached入門
- memcached安裝
- php開發memcachedPHP
- PHP memcached,(set,get)PHP
- Ubuntu 安裝 MemcachedUbuntu
- ubuntu安裝memcachedUbuntu
- Memcached::cas 詳解
- memcached 安裝配置
- memcached全面剖析--2.理解memcached的記憶體儲存記憶體
- 實戰Memcached快取系統(4)Memcached的CAS協議快取協議
- PHP memcached 利用遠端終端連線、操作memcached伺服器PHP伺服器
- 實戰Memcached快取系統(5)Memcached的CAS程式例項快取
- 實戰Memcached快取系統(3)Memcached配置引數初解快取
- [轉]memcached學習系列
- 【Redis與Memcached比較】Redis
- check memcached process and restart if downREST
- Redis 和 Memcached 比較Redis
- memcached安裝測試
- memcached 命令操作詳解
- Memcached Client 使用手冊client
- Linux Install MemcachedLinux
- centos下安裝memcachedCentOS
- 對比 Redis 與 MemcachedRedis
- 快取: Memcached和terracotta快取
- 實戰Memcached快取系統(2)Memcached Java API基礎之MemcachedClient快取JavaAPIclient
- 實戰Memcached快取系統(1)Memcached基礎及示例程式快取
- ASP.NET中IsPostBack詳解ASP.NET
- 實戰Memcached快取系統(7)Memcached的一些基礎FAQ快取