您的位置:首页 > 数据库 > Memcache

java开发:分享一下MemCached的使用

2014-12-15 17:41 411 查看
在项目开发中,有些不经常修改的数据,我们通常都会选择使用缓存。其中一种方式,就是memcached.

windows系统中,我们需要下载并安装memcached。

地址如:D:\memcached\memcached.exe

然后,用管理员身份运行cmd.exe,输入启动命令:



这样,我们在项目中就可以创建缓存实例了:

public class MemcachedManager {

// 创建MemCachedClient全局对象
private static MemCachedClient mcc = new MemCachedClient();

static {
// 创建服务器列表及其权重
String[] servers = { "127.0.0.1:11211" };
Integer[] weights = { 3 };

// 创建Socket连接池对象
SockIOPool pool = SockIOPool.getInstance();

// 设置服务器信息
pool.setServers(servers);
pool.setWeights(weights);
pool.setFailover(true);

// 设置初始连接数、最小和最大连接数以及最大处理时间
pool.setInitConn(5);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaxIdle(1000 * 60 * 60 * 6);

// 设置主线程睡眠时间
pool.setMaintSleep(30);

// 设置TCP参数、连接超时等
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setSocketConnectTO(0);
pool.setAliveCheck(true);

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

}

/**
* 无参构造
*/
protected MemcachedManager() {

}

// 受保护的对象
protected static MemcachedManager instance = new MemcachedManager();

/**
* 为受保护的对象提供一个公共的访问方法
*/
public static MemcachedManager getInstance() {
return instance;
}

/**
* 添加对象到缓存中,构成方法重载
*
* @param key
* @param value
* @return
*/
public boolean add(String key, Object value) {
return mcc.add(key, value);
}

public boolean add(String key, Object value, Date expiry) {
return mcc.add(key, value, expiry);
}

public boolean replace(String key, Object value) {
return mcc.replace(key, value);
}

public boolean replace(String key, Object value, Date expiry) {
return mcc.replace(key, value, expiry);
}

/**
* 根据指定的关键字获取对象
*/
public Object get(String key) {
return mcc.get(key);
}

public static void main(String[] args) {
// 得到MemcachedManager实例
MemcachedManager cache = MemcachedManager.getInstance();
//创建test缓存
cache.add("test", "hello");
//取出test缓存
System.out.println(cache.get("test"));
//修改test缓存
cache.replace("test", "hello123");
//取出test缓存
System.out.println(cache.get("test"));
}

}


运行这个例子后,打印出的结果如下:

hello
hello123
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: