memcached缓存 window下使用方法记录下。

将mememche服务端下载完毕后放随便找个盘子解压C:\memcached解压缩
1>开始>运行:CMD(确定)
2>cd c:\memcached
3>c:\memcached\memcached.exe -d install(回车 这步执行安装)
4>c:\memcached\memcached.exe -d start(回车 这步执行启动memcache服务器,默认分配64M内存,使用默认11211端口)

此时memcache服务器已经可以正常使用了。


使用java客户端进行调用。需下载客户端的jar包:

1,java_memcached-release_2.6.6.jar

2,commons-pool-1.5.6.jar

3,slf4j-api-1.6.1.jar

4,slf4j-simple-1.6.1.jar


随便写了测试代码:

public class Memcached {
	
	
	protected static MemCachedClient mc = new MemCachedClient();
	protected static Memcached m = new Memcached();
	
	
	static{
		
		String[] servers = {"192.168.1.2:11211"}; //服务器列表

	    Integer[] weights= {3}; //服务器权重
		
		SockIOPool pool = SockIOPool.getInstance(); //获取socket连接池
		
		pool.setServers(servers);
		pool.setWeights(weights);
		
		
		pool.setInitConn(5); //设置初始连接
		pool.setMinConn(5); //设置最小连接
		pool.setMaxConn(250);//最大连接数
		pool.setMaxIdle(1000*60*60*6);//设置可用连接池的最长等待时间
		
		pool.setMaintSleep(0);//设置连接池维护线程的睡眠时间,设置为0,维护线程不启动,维护线程主要通过log输出socket的运行状况,监测连接数目及空闲等待时间等参数.以控制连接创建和关闭。
		
		pool.setNagle(false);//设置是否使用Nagle算法,因为我们的通讯数据量通常都比较大(相对TCP控制数据)而且要求响应及时,因此该值需要设置为false(默认是true)
		pool.setSocketTO(3000);//设置socket的读取等待超时值
		pool.setSocketConnectTO(0);//设置socket的连接等待超时值
		pool.setAliveCheck(false);//设置连接心跳监测开关。
		//设为true则每次通信都要进行连接是否有效的监测,造成通信次数倍增,加大网络负载,因此该参数应该在对HA要求比较高的场合设为TRUE,默认状态是false。
		pool.setFailback(true); //设置连接失败恢复开关,设置为TRUE,当宕机的服务器启动或中断的网络连接后,这个socket连接还可继续使用,否则将不再使用,默认状态是true,建议保持默认。
		
		pool.setFailover(true);//设置容错开关.当当前socket不可用时,程序会自动查找可用连接并返回,否则返回NULL,默认状态是true,建议保持默认。
	
		pool.initialize();
		
//		mc.setCompressEnable(true);
//		mc.setCompressThreshold(64*1024);
		
	}
	
	protected Memcached(){
		
	}
	
	public static Memcached getInstance(){
		return m;
	}
	
	public boolean add(String key,Object value){
		return mc.add(key, value);
	}
	
	public boolean add(String key,Object value,Date date){
		return mc.add(key, value,date);
	}
	
	
	public boolean replace(String key,Object value){
		return mc.replace(key, value);
	}
	
	public boolean replace(String key,Object value,Date date){
		return mc.replace(key, value,date);
	}
	
	public Object get(String key){
		return mc.get(key);
	}
	
	public static void main(String[]args){
		Memcached cache = Memcached.getInstance();
		//cache.add("hello", 1234);
		System.out.println("getValue1=="+cache.get("hello"));
		cache.delete("bean"); //清除缓存
		
		TBean t = new TBean();
		t.setName("Nacey");
		cache.add("bean", t); //增加缓存
		System.out.println("getValue2=="+((TBean)cache.get("bean")).getName());
		
		t.setName("章***");
		cache.replace("bean", t);//修改缓存
		System.out.println("getValue2=="+((TBean)cache.get("bean")).getName());
	}
 打印结果:

getValue1==null
getValue2==Nacey
getValue2==章***

如果需修改端口或内存大小:


1>用内网ip的方式提供web应用服务器调用,不允许直接通过外网调用,如将memcache服务器放在192.168.1.55的服务器上

2>修改端口,如改为11200

3>分配内存,如分配1024M(1G内存)

方法如下:
1>开始>运行:regedit(回车)
2>在注册表中找到:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server
3>默认的ImagePath键的值是:"c:\memcached\memcached.exe" -d runservice,
改为:"c:\memcached\memcached.exe" -d runservice -m 1024 -p 11200 -l 192.168.1.55(确定,关闭注册表)
4>我的电脑(右键)>管理>服务 找到memcache的服务,重新启动一次即可生效。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值