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

Memcached分布式Cache的简单测试

2016-01-31 16:40 489 查看
服务器端安装:

1. 下载win32 版本

memcached-1.2.1-win32.zip

下载memcache的windows稳定版,解压放在e:/memcached

2. 在终端下输入 'e:/memcached/memcached.exe -d install' 安装

3. 在终端下输入 'e:/memcached/memcached.exe -d start' 启动

NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。

客户端测试:

首先下载java client端jar包,导入到eclipse

接着在项目中写Memcached 的应用类,下面是根据官方demo 修改的,仅供参考:

/**
*
* @description 本类用于连接缓冲池Memcached
*/
package zl.Sort;

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

public class CacheHelper {

/* 单例模式 */
protected static MemCachedClient mcc = new MemCachedClient();

private CacheHelper() {
}

/* 配置服务器组 */
static {

/* 定义IP地址和端口 */
String[] servers = { "127.0.0.1:11212" };

/* 设置缓存大小 */
Integer[] weights = { 2 };

/* 拿到一个连接池的实例 */
SockIOPool pool = SockIOPool.getInstance();

/* 注入服务器组信息 */
pool.setServers(servers);
pool.setWeights(weights);

/* 配置缓冲池的一些基础信息 */
pool.setInitConn(5);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaxIdle(1000 * 60 * 60 * 6);

/* 设置线程休眠时间 */
pool.setMaintSleep(30);

/* 设置关于TCP连接 */
pool.setNagle(false);// 禁用nagle算法
pool.setSocketConnectTO(0);
pool.setSocketTO(3000);// 3秒超时

/* 初始化 */
pool.initialize();

/* 设置缓存压缩 */
mcc.setCompressEnable(true);
mcc.setCompressThreshold(64 * 1024);

}

public static boolean set(String arg0, Object arg1) {
return mcc.set(arg0, arg1);
}

public static Object get(String arg0) {
return mcc.get(arg0);
}

/* 测试 */
public static void main(String[] args) {
CacheHelper.set("gogo", "gogogogo");
System.out.println(CacheHelper.get("gogo"));// gogogogo
System.out.println(CacheHelper.get("gogog"));// null
/* 如果出现都为null,检查地址和端口。端口可以到Memcached同目录配置文件看 */
}

}
后期可能会加入数据库和缓存同步功能,初步构想是用数据库的触发器来完成,也就是在需要放在缓存的数据表操作的时候触发刷新缓存的操作,这不仅让项目代码的业务考虑缩小范围,另一方面代码侵入也小,容易修改。具体实现等更新。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: