1. 程式人生 > >windows 64下mamcached安裝以及java測試

windows 64下mamcached安裝以及java測試

windows 64 環境下安裝memcached

1、下載後解壓到D:\memcached  (下載地址:http://download.csdn.net/detail/luohaiqing123456/9435521)

      

2、安裝到windows服務,開啟cmd命令列,進入memcached目錄,執行memcached -d install命令,安裝服務。

     如果在沒有安裝過的情況下,出現"failed to install service or service already installed"錯誤,可能是cmd.exe需要用管理員身份執行。

3、啟動服務,執行memcached -d start

4、引數介紹

     -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 顯示幫助

5、修改引數,windows下需要通過修改登錄檔資訊進行設定,開啟登錄檔,找 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached 
在其中有一個“ImagePath”項,值為: 
"D:\memcached\memcached.exe" -d runservice 
在後面加上“-m 1024 -c 2048 -p 11210”。等即可。重啟服務後生效

測試程式碼(工具包:http://download.csdn.net/detail/luohaiqing123456/9435526)

//java測試memcached類


package com.icardpay.business.manager;
import java.io.IOException;
import java.net.InetSocketAddress;


import net.spy.memcached.MemcachedClient;
public class MemCachedManager {
private static MemcachedClient client = null;
private MemCachedManager() {
try {
client = new MemcachedClient(new InetSocketAddress("127.0.0.1",11210));
} catch (IOException e) {
e.printStackTrace();
}
}
       public static MemcachedClient getClient(){
if(client==null){
new MemCachedManager();
}
return client;
}  
}
//實體類
package com.icardpay.business.manager;
import java.io.Serializable;
public class TBean implements Serializable {
private static final long serialVersionUID = 1945562032261336919L; 

         private String name;  

 
public String getName() {  
       return name;  
   }  
 
public void setName(String name) {  
       this.name = name;  
   }  
}

//測試類
package com.icardpay.business.manager;


import net.spy.memcached.MemcachedClient;


import org.junit.Test;


import junit.framework.TestCase;


public class TestMemcached  extends TestCase {  
private static MemcachedClient cache;  
    @Test  
public void testCache() {  
cache=MemCachedManager.getClient();
//儲存字串
String key="strKey";
String value="儲存字串";
int expiration=0;
cache.set(key, expiration, value);
//取快取中key對應的值
System.out.println("name=" +cache.get("strKey"));

//儲存物件
TBean tb = new TBean();  
tb.setName("儲存物件");
String keyBean="bean";
int expirationBean=0;
cache.set(keyBean, expirationBean,tb);
//取快取中物件的值
TBean tbGet=(TBean) cache.get("bean");
System.out.println("name=" +tbGet.getName());
}  
}