windows环境下在eclipse中使用memcache

memcache这个东西使用的十分的广泛,我 刚刚接触,算是知道皮毛,不管怎样,慢慢积累,这里就花点时间把自己遇到的问题记录下来吧,或许对其他人又帮助,我一向遇到困难都从网上寻找答案,现在也希望我提供的内容也能帮助其他的在网上寻找答案的人吧!

1.下载安装windows版本的memcache服务器端

memcache应该有服务器端和客户端,这个就不多说了。windows版本的memcache下载地址:memcached for Windows

2安装memcache服务器端

       将刚刚下载来的memcache解压到某个文件夹中,我解压到了d:\memcache中;cd到这个目录,然后运行memcached.exe就可以启动了;注意启动的那个cmd窗口不能关闭;如果将memcache安装成一个windows的系统服务,那么就不要每次使用memcache的时候都要去运行命令并保持一个窗口了。cd到memcache的安装目录,使用命令: memcached  -d install 就可以将memcache安装成一个系统服务,并且这个系统服务会岁电脑自动启动的。安装完成后使用命令:memcached -d start就可以将memcache服务启动了;

3安装memcache客户端

      memcache具有多种语言的客户端,php的,c的,java的,python的。因为工程用的是java语言,所以这里使用的java语言的。下载地址:java版memcache客户端

4安装memcache客户端

        这个就没有什么了,我们下载到的就是一套memcache编程接口,直接在工程中使用就可以了

5在工程中使用memcache客户端

        没有弄的那么复杂,我就是直接在eclipse中新建了一个普通的java工程,然后将刚刚下载的memcache的客户端解压出的src文件夹替换刚刚新建的java工程的src文件夹;refresh工程,因为memcache客户端的那套接口使用了log4j,所以要为工程加入log4j的依赖包,这个东西的下载就不说了。好,至此配置就完成了。

      下面新建一个java文件试试memcache吧!(当然要先启动memcache服务器端的)

注:该代码摘自网络:

package test;
import com.meetup.memcached.MemcachedClient;
import com.meetup.memcached.SockIOPool;
import java.util.Date;

public class Test {

	protected static MemcachedClient mcc = new MemcachedClient();
	static {
		String[] servers = { "127.0.0.1:11211" };//这是memcache的服务地址和端口这个static段里面其他的配置基本是不变的,所以直接用的他人的
		Integer[] weights = { 3 };

		// 创建一个实例对象SocketIOPool
		SockIOPool pool = SockIOPool.getInstance();

		// 设置Memcached Server
		pool.setServers(servers);
		// 设置Memcached权重
		pool.setWeights(weights);

		// 初始化5个连接
		pool.setInitConn(5);
		// 最小5个连接
		pool.setMinConn(5);
		// 最大250个连接
		pool.setMaxConn(250);
		// 一个连接最大句柄时间为6小时
		pool.setMaxIdle(1000 * 60 * 60 * 6);
		// 设置休眠以维持线程,它每30秒苏醒以此维护池大小
		pool.setMaintSleep(30);
		// Tcp的规则就是在发送一个包之前,本地机器会等待远程主机
		// 对上一次发送的包的确认信息到来;这个方法就可以关闭套接字的缓存,
		// 以至这个包准备好了就发;
		pool.setNagle(false);
		// 连接建立后对超时的控制
		pool.setSocketTO(3000);
		// 初始化一些值并与MemcachedServer段建立连接
		pool.initialize();

		// 开启压缩功能
		mcc.setCompressEnable(true);
		// 大于64K开始压缩
		mcc.setCompressThreshold(64 * 1024);
	}
	private static MemcachedClient memc = new MemcachedClient();

	public static void bulidCache() {
		// set(key,value,Date) ,Date是一个过期时间,如果想让这个过期时间生效的话,这里传递的new Date(long
		// date) 中参数date,需要是个大于或等于1000的值。
		// 因为java client的实现源码里是这样实现的 expiry.getTime() / 1000 ,也就是说,如果
		// 小于1000的值,除以1000以后都是0,即永不过期
		mcc.set("test", "This is a test String", new Date(10000)); // 十秒后过期
		mcc.set("hzh","This is a test String",new Date(1000));//set有三个参数,一个是key,一个是value,一个是time

	}

	public static void output() {
		// 从cache里取值
		String value1 = (String) mcc.get("test");
		String value2 = (String) mcc.get("hzh");
		System.out.println(value1);
		System.out.println(value2);
	}

	public static void main(String[] args) {
		bulidCache();
		output();
	}

}
至此,完成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值