充分利用緩存可以大幅提高應用程式性能,之前都是自己寫Dictionary字典來做緩存,今天打算嘗試一下MemCached。
MemCached使用需要兩個部分,一個是服務端,一個是用戶端,首先我們将這兩個檔案下載下傳下來。
<a href="http://files.cnblogs.com/wengyuli/memcached-1.2.4-Win32-Preview-20080309_bin.zip">http://files.cnblogs.com/wengyuli/memcached-1.2.4-Win32-Preview-20080309_bin.zip</a>
<a href="http://files.cnblogs.com/wengyuli/memcacheddotnet_clientlib-1.1.5.zip">http://files.cnblogs.com/wengyuli/memcacheddotnet_clientlib-1.1.5.zip</a>
<a target="_blank" href="http://blog.51cto.com/attachment/201106/183155941.png"></a>
<a target="_blank" href="http://blog.51cto.com/attachment/201106/183207133.png"></a>
按照安裝提示,解壓到C槽後進行安裝
啟動
配置端口
<a target="_blank" href="http://blog.51cto.com/attachment/201106/183242993.png"></a>
配置記憶體大小
<a target="_blank" href="http://blog.51cto.com/attachment/201106/183252101.png"></a>
使用TCPVIEWER工具檢視MemCached是否正常工作。
測試
<a target="_blank" href="http://blog.51cto.com/attachment/201106/183321726.png"></a>
測試代碼:
static void Main(string[] args)
{
string[] serverlist = { "127.0.0.1:11211", "127.0.0.1:11211" };
//初?始?化ˉIO池?
SockIOPool pool = SockIOPool.GetInstance();
pool.SetServers(serverlist);
pool.InitConnections = 3;
pool.MinConnections = 3;
pool.MaxConnections = 5;
pool.SocketConnectTimeout = 1000;
pool.SocketTimeout = 3000;
pool.MaintenanceSleep = 30;
pool.Failover = true;
pool.Nagle = false;
pool.Initialize();
MemcachedClient mc = new MemcachedClient();
mc.EnableCompression = false;
Console.Write("開a始?測a試?...");
mc.Set("name", "wengyuli");
if (mc.KeyExists("name"))
{
Console.Write("存?在ú!?");
Console.Write(mc.Get("name").ToString());
}
else
{
Console.Write("不?存?在ú");
Console.Read();
mc.Delete("name");
SockIOPool.GetInstance().Shutdown();//關?閉?池?
}
聽說效果很好,這個有待測試,稍後将會将測試過程記錄一下,希望大家能夠多提出幾個測試方法,謝謝!
本文轉自wengyuli 51CTO部落格,原文連結:http://blog.51cto.com/wengyuli/586685,如需轉載請自行聯系原作者