標籤:
: memcached Windows 64-bit
1、解壓到指定目錄,如:D:\Memcached\memcached-win64-1.4.4-14。
2、用cmd開啟命令視窗,轉到解壓的目錄,輸入 “memcached.exe -d install”。
3、開啟控制台,開啟服務,可以看到memcached已經在上面可,如果沒有啟動,則手動啟動一下。
4、 使用telnet命令 驗證快取服務器是否可用。
telnet 10.1.19.61 11211
開始什麼都不顯示,斷行符號後輸入命令 stats 查看統計資訊,如,說明伺服器運作正常。
三、參數介紹
1、 以上的安裝和啟動都是在預設環境下進行的,在安裝時可設定如下參數:
-p 監聽的連接埠
-l 串連的IP地址, 預設是本機
-d start 啟動memcached服務
-d restart 重起memcached服務
-d stop|shutdown 關閉正在啟動並執行memcached服務
-d install 安裝memcached服務
-d uninstall 卸載memcached服務
-u 以的身份運行 (僅在以root啟動並執行時候有效)
-m 最大記憶體使用量,單位MB。預設64MB
-M 記憶體耗盡時返回錯誤,而不是刪除項
-c 最大同時串連數,預設是1024
-f 塊大小增長因子,預設是1.25
-n 最小分配空間,key+value+flags預設是48
-h 顯示協助
四、代碼例子
static void Main(string[] args) { //伺服器端列表 string[] serverlist = { "127.0.0.1:11211" }; //初始化池 SockIOPool sock = SockIOPool.GetInstance(); sock.SetServers(serverlist);//添加伺服器列表 sock.InitConnections = 3;//設定串連池初始數目 sock.MinConnections = 3;//設定最小串連數目 sock.MaxConnections = 5;//設定最大串連數目 sock.SocketConnectTimeout = 1000;//設定串連的通訊端逾時。 sock.SocketTimeout = 3000;//設定通訊端逾時讀取 sock.MaintenanceSleep = 30;//設定維護線程啟動並執行睡眠時間。如果設定為0,那麼維護線程將不會啟動; //擷取或設定池的故障標誌。 //如果這個標誌被設定為true則socket串連失敗, //將試圖從另一台伺服器返回一個通訊端如果存在的話。 //如果設定為false,則得到一個通訊端如果存在的話。否則返回NULL,如果它無法串連到請求的伺服器。 sock.Failover = true; //如果為false,對所有建立的通訊端關閉Nagle的演算法。 sock.Nagle = false; sock.Initialize(); //擷取用戶端執行個體 MemcachedClient memcached = new MemcachedClient(); //是否啟用壓縮資料 memcached.EnableCompression = false; Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~Memcached Set"); //儲存快取資料。 //如果資料在伺服器上不存在此鍵,或者如果鍵被刪除指定的值將不被儲存。 //到期時間到達時伺服器會自動刪除該索引值. //如果啟用了壓縮,資料壓縮長於門檻的資料將被儲存在壓縮的形式。 //在目前的版本中,所有對象會使用。NET序列化。 //參數說明: //key:緩衝的鍵.value:緩衝對象. expiry:到期時間.hashCode:如果不為null,則詮釋雜湊碼使用 //asString :作為字串儲存該對象 memcached.Set("test1", "test1"); Console.WriteLine(memcached.Get("test1")); Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~~Memcached Add ,先Add再調用Set 相同索引值Set會覆蓋掉Add的值"); memcached.Add("test2", "value2"); Console.WriteLine(memcached.Get("test2")); memcached.Set("test2", "value1 value2"); Console.WriteLine(memcached.Get("test2")); Console.WriteLine("Memcached Replace "); //在伺服器上更新資料,指定鍵和值。 memcached.Replace("test2", "value3"); Console.WriteLine(memcached.Get("test2")); Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~Memcached 索引值是否存在"); if (memcached.KeyExists("test2")) { Console.WriteLine("鍵test2 存在"); } Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~~~~Memcached 刪除資料"); memcached.Add("test4", "value4"); Console.WriteLine("test4==>" + memcached.Get("test4")); memcached.Delete("test4"); if (!memcached.KeyExists("test4")) { Console.WriteLine("test4 已將刪除"); } Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~~~Memcached 資料到期"); memcached.Add("test5", "value5", DateTime.Now.AddMilliseconds(5000)); Console.WriteLine(memcached.Get("test5")); System.Threading.Thread.Sleep(6000); Console.WriteLine("到期: " + memcached.Get("test5")); Console.Read(); SockIOPool.GetInstance().Shutdown(); //關閉池, 關閉sockets }
PS.參考文章
http://www.jb51.net/article/30334.htm
http://www.cnblogs.com/xiaogangqq123/archive/2011/03/11/1981114.html
.net/c# memcached 安裝和基本使用