using System; using System.Collections.Generic; using System.Text; using Memcached.ClientLibrary; using System.Diagnostics; namespace TestMemcachedApp { class Program { [STAThread] public static void Main(String[] args) { System.Diagnostics.Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); // 開始監視代碼運行時間 string[] serverlist = { "192.168.0.107:11211" };//服務器可以是多個 //初始化池 SockIOPool pool = SockIOPool.GetInstance(); pool.SetServers(serverlist);//設置連接池可用的cache服務器列表,server的構成形式是IP:PORT(如:127.0.0.1:11211) pool.InitConnections = 3;//初始連接數 pool.MinConnections = 3;//最小連接數 pool.MaxConnections = 5;//最大連接數 pool.SocketConnectTimeout = 1000;//設置連接的套接字超時 pool.SocketTimeout = 3000;//設置套接字超時讀取 pool.MaintenanceSleep = 30;//設置維護線程運行的睡眠時間。如果設置為0,那么維護線程將不會啟動,30就是每隔30秒醒來一次 //獲取或設置池的故障標志。 //如果這個標志被設置為true則socket連接失敗,將試圖從另一台服務器返回一個套接字如果存在的話。 //如果設置為false,則得到一個套接字如果存在的話。否則返回NULL,如果它無法連接到請求的服務器。 pool.Failover = true; pool.Nagle = false;//如果為false,對所有創建的套接字關閉Nagle的算法 pool.Initialize(); // 獲得客戶端實例 MemcachedClient mc = new MemcachedClient(); mc.EnableCompression = false; for (int i = 1; i <= 50000; i++) { mc.Set(Guid.NewGuid().ToString(), "sadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahlsadsadsakjdklasjfklsjfalkshkfjhdskjfhskjfhkjhjsdkfhkjsahl;kfjsakldm,sa.mf,sdmnm,xnkvlhjxkclvnklsjfkldsjnfksdnfklsdnfm,dsnfm,sdnfdshfkjdshfkjdshkfjhdskjfsdfsdfsdf" + i.ToString()); // mc.Delete(i.ToString()); } //Console.WriteLine("------------測 試-----------"); //mc.Set("test", "my value"); //存儲數據到緩存服務器,這里將字符串"my value"緩存,key 是"test" //if (mc.KeyExists("test")) //測試緩存存在key為test的項目 //{ // Console.WriteLine("test is Exists"); // Console.WriteLine(mc.Get("test").ToString()); //在緩存中獲取key為test的項目 //} //else //{ // Console.WriteLine("test not Exists"); //} //mc.Delete("test"); //移除緩存中key為test的項目 //if (mc.KeyExists("test")) //{ // Console.WriteLine("test is Exists"); // Console.WriteLine(mc.Get("test").ToString()); //} //else //{ // Console.WriteLine("test not Exists"); //} SockIOPool.GetInstance().Shutdown(); //關閉池, 關閉sockets // you code .... stopwatch.Stop(); // 停止監視 TimeSpan timespan = stopwatch.Elapsed; // 獲取當前實例測量得出的總時間 double hours = timespan.TotalHours; // 總小時 double minutes = timespan.TotalMinutes; // 總分鍾 double seconds = timespan.TotalSeconds; // 總秒數 double milliseconds = timespan.TotalMilliseconds; // 總毫秒數 Console.WriteLine(seconds.ToString()+"用時"); Console.ReadLine(); } } }