memcached java client

假设我们有3台memcached 服务器,server1 和server2 有3GB 的内存空间,server3 有2GB 的内存空间.

测试代码如下:

import org.apache.log4j.PropertyConfigurator;

import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;

public class MyMemcached {
	// 创建一个 memcached 客户端对象

	private static MemCachedClient mcc = new MemCachedClient();

	static {

		// 指定memcached服务器分配和权重
		String[] servers = { "server1.mydomain.com:11211",
				"server2.mydomain.com:11211", "server3.mydomain.com:11211" };
		Integer[] weights = { 3, 3, 2 };

		// 从连接池获取一个连接实例
		SockIOPool pool = SockIOPool.getInstance();
		// 设置服务器和服务器负载量
		pool.setServers(servers);
		pool.setWeights(weights);

		// 设置一些基本的参数
		// 设置初始连接数5 最小连接数 5 最大连接数 250
		// 设置一个连接最大空闲时间6小时
		pool.setInitConn(5);
		pool.setMinConn(5);
		pool.setMaxConn(250);
		pool.setMaxIdle(1000 * 60 * 60 * 6);

		// 设置主线程睡眠时间
		// 每隔30秒醒来 然后
		// 开始维护 连接数大小
		pool.setMaintSleep(30);
		// 设置tcp 相关的树形
		// 关闭nagle算法
		// 设置 读取 超时3秒钟 set the read timeout to 3 secs
		// 不设置连接超时
		pool.setNagle(false);
		pool.setSocketTO(3000);
		pool.setSocketConnectTO(0);

		// 开始初始化 连接池
		pool.initialize();

		// 设置压缩模式
		// 如果超过64k压缩数据
		// mcc.setCompressEnable(true);
		// mcc.setCompressThreshold(64 * 1024);
	}

	public static void main(String[] args) {

		PropertyConfigurator.configure("log4jtcp.properties");
		// 测试
		mcc.set("foo", "This is a test String");
		String bar = (String) mcc.get("foo");
		System.out.println(bar);
	}

}

猜你喜欢

转载自linyu19872008.iteye.com/blog/1881610