服务器端安装:
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同目录配置文件看 */
}
}
后期可能会加入数据库和缓存同步功能,初步构想是用数据库的触发器来完成,也就是在需要放在缓存的数据表操作的时候触发刷新缓存的操作,这不仅让项目代码的业务考虑缩小范围,另一方面代码侵入也小,容易修改。具体实现等更新。