现在的位置: 首页 > 综合 > 正文

MemCached 在Widnows环境下的Java之简单应用

2013年09月30日 ⁄ 综合 ⁄ 共 2348字 ⁄ 字号 评论关闭

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
	{
		//指定服务器,默认为本机,默认端口为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服务器上了。

Demo下载

抱歉!评论已关闭.