java-memcached maven_Maven项目中用Memcached实现缓存配置

这是新的项目架构,得说,这次很大胆的用了Maven 的多模块项目设计来重新做这个庞大的项目。

memcached-maven  

下面记录Memcached 在Maven 中的配置。

首先介绍如何手动添加第三方类库到自己电脑的本地仓库,这折腾了我一个晚上,点击链接 Maven 中手动添加第三方类库到自己电脑的本地仓库.m2 。

首先添加Memcached 的Java 客户端到项目依赖中,如下执行:

1. 将Memcached.jar 放到E 盘下面;

2. cmd 到打开命令窗口以后开始安装,运行如下指令:

E:\User>mvn install:install-file -Dfile=e:/memcached.jar -DgroupId=com.danga -DartifactId=memcached -Dversion=2.5.3 -Dpackaging=jar -DgeneratePom=true

[1.模拟应用服务器(客户端):所需jar:commons-io-1.3.2.jar,jersey-client-1.8.jar,jersey-core-1.8.jar编辑客户端代码:       // 图片名称生成策略  &nbs..]

3. 这样它就会自动在本地仓库里面加入自定义的jar 依赖。

接着在项目添加以下依赖:

com.danga

memcached

2.5.3

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

/**

* @author jason61719

* @buildTime 2011.03.12

* @description 本类用于连接缓冲池Memcached

*/

package base.util;

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同目录配置文件看 */

}

}

后期可能会加入数据库和缓存同步功能,初步构想是用数据库的触发器来完成,也就是在需要放在缓存的数据表操作的时候触发刷新缓存的操作,这不仅让项目代码的业务考虑缩小范围,另一方面代码侵入也小,容易修改。具体实现等更新。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值