1.准備工作
1)MemCached For Win32 服務器端下載地址:http://code.jellycan.com/memcached/
2)MemCached Java Client 客戶端下載地址:https://github.com/gwhalin/Memcached-Java-Client/downloads
2.安裝服務器
將下載好的memcached.exe文件放到指定目錄,比如:D:\memcached。打開cmd切換到D:\memcached
1)安裝
memcached.exe -d install
2)啟動服務
memcached.exe -d start
3)檢查是否安裝並啟動成功
打開windows服務器,找到memcached Server服務
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 顯示幫助
3.編寫Java測試用例
1)將下載好的java_memcached-release_2.6.6.zip中的jar全部放到工程lib中,並加入JUnit4支持。
2)Java代碼
創建要保存的JavaBean<User>
package com;
import java.io.Serializable;
import java.util.Date;
/**
* 必須實現序列化接口<MemCached的要求>
* @author zdw
*
*/
public class User implements Serializable
{
private static final long serialVersionUID = 1L;
private Long usid;
private String username;
private String password;
private Date createtime;
public Long getUsid()
{
return usid;
}
public void setUsid(Long usid)
{
this.usid = usid;
}
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
public Date getCreatetime()
{
return createtime;
}
public void setCreatetime(Date createtime)
{
this.createtime = createtime;
}
}
測試類:
package com;
import java.util.Date;
import org.junit.Test;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
/**
* 緩存測試
* @author zdw
*
*/
public class MemcachedTest
{
private MemCachedClient mc = new MemCachedClient();
static
{
//指定服務器,默認為本機,默認端口為11211
String[] serverlist = { "127.0.0.1:11211" };
SockIOPool pool = SockIOPool.getInstance();
pool.setServers(serverlist);
pool.initialize();
}
@Test
public void testAdd()
{
User user = new User();
user.setUsername("likaifu");
user.setPassword("it");
user.setCreatetime(new Date());
mc.set("user1",user);
}
@Test
public void testGet()
{
User user = (User) mc.get("user1");
System.out.println(user.getUsername());
}
@Test
public void testReplace()
{
User user = new User();
user.setUsername("李開復");
user.setPassword("挨踢");
user.setCreatetime(new Date());
mc.replace("user1", user);
}
}
先測試add方法,再執行get;然後執行replace,再執行get方法。
我們發現user實例已經保存到memcached服務器上了。