1.準備工作
1)MemCached For Win32 伺服器端:http://code.jellycan.com/memcached/
本文中用到的版本:http://download.csdn.net/detail/supercrsky/5166196
2)MemCached Java Client 用戶端:https://github.com/gwhalin/Memcached-Java-Client/downloads
本文中用到的版本:http://download.csdn.net/detail/supercrsky/5166537
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{//指定伺服器,預設為本機,預設連接埠為11211String[] serverlist = { "127.0.0.1:11211" };SockIOPool pool = SockIOPool.getInstance();pool.setServers(serverlist);pool.initialize();}@Testpublic void testAdd(){User user = new User();user.setUsername("likaifu");user.setPassword("it");user.setCreatetime(new Date());mc.set("user1",user);}@Testpublic void testGet(){User user = (User) mc.get("user1");System.out.println(user.getUsername());}@Testpublic void testReplace(){User user = new User();user.setUsername("李開複");user.setPassword("挨踢");user.setCreatetime(new Date());mc.replace("user1", user);}}
先測試add方法,再執行get;然後執行replace,再執行get方法。
我們發現user執行個體已經儲存到memcached伺服器上了。
Demo下載