package com.test.memcached;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.TimeoutException;
import net.rubyeye.xmemcached.MemcachedClient;
import net.rubyeye.xmemcached.exception.MemcachedException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MemCache {
private static Logger log = LoggerFactory.getLogger(MemCache.class);
private Set<String> keySet = new HashSet<String>();
private final String name;
private final int expire;
private final MemcachedClient memcachedClient;
public MemCache(String name, int expire, MemcachedClient memcachedClient) {
this.name = name;
this.expire = expire;
this.memcachedClient = memcachedClient;
}
public Object get(String key) {
Object value = null;
try {
key = this.getKey(key);
value = memcachedClient.get(key);
} catch (TimeoutException e) {
log.warn("获取 Memcached 缓存超时", e);
} catch (InterruptedException e) {
log.warn("获取 Memcached 缓存被中断", e);
} catch (MemcachedException e) {
log.warn("获取 Memcached 缓存错误", e);
}
return value;
}
public void put(String key, Object value) {
if (value == null)
return;
try {
key = this.getKey(key);
memcachedClient.setWithNoReply(key, expire, value);
keySet.add(key);
} catch (InterruptedException e) {
log.warn("更新 Memcached 缓存被中断", e);
} catch (MemcachedException e) {
log.warn("更新 Memcached 缓存错误", e);
}
}
public void clear() {
for (String key : keySet) {
try {
memcachedClient.deleteWithNoReply(this.getKey(key));
} catch (InterruptedException e) {
log.warn("删除 Memcached 缓存被中断", e);
} catch (MemcachedException e) {
log.warn("删除 Memcached 缓存错误", e);
}
}
}
public void delete(String key) {
try {
key = this.getKey(key);
memcachedClient.deleteWithNoReply(key);
} catch (InterruptedException e) {
log.warn("删除 Memcached 缓存被中断", e);
} catch (MemcachedException e) {
log.warn("删除 Memcached 缓存错误", e);
}
}
private String getKey(String key) {
return name + "_" + key;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
(SSM框架)memcached整合Spring基于Cache注解. (119个子文件)
MemCache.class 3KB
MemCache.class 3KB
MemcachedCache.class 3KB
MemcachedClientTest.class 3KB
MemcachedCacheManager.class 2KB
MemcachedCacheManager.class 2KB
MemcachedCache.class 2KB
UserAction.class 2KB
UserAction.class 2KB
UserServiceImp.class 2KB
UserServiceImp.class 2KB
User.class 1KB
User.class 1KB
UserDAO.class 370B
UserDAO.class 370B
UserService.class 291B
UserService.class 291B
.classpath 1KB
org.eclipse.wst.common.component 556B
org.eclipse.wst.jsdt.ui.superType.container 49B
ojdbc6-11.2.0.jar 2.01MB
javaee-api-7.0.jar 1.84MB
aspectjweaver-1.6.11.jar 1.61MB
spring-context-4.0.2.RELEASE.jar 951KB
spring-core-4.0.2.RELEASE.jar 938KB
jackson-mapper-asl-1.9.13.jar 762KB
mybatis-3.2.6.jar 696KB
spring-beans-4.0.2.RELEASE.jar 653KB
spring-web-4.0.2.RELEASE.jar 649KB
spring-webmvc-4.0.2.RELEASE.jar 645KB
javax.mail-1.5.0.jar 510KB
log4j-1.2.17.jar 478KB
spring-test-4.0.2.RELEASE.jar 437KB
xmemcached-1.4.3.jar 432KB
spring-jdbc-4.0.2.RELEASE.jar 410KB
jstl-1.2.jar 405KB
fastjson-1.1.41.jar 350KB
spring-aop-4.0.2.RELEASE.jar 344KB
cglib-2.1.jar 275KB
commons-codec-1.9.jar 258KB
spring-tx-4.0.2.RELEASE.jar 242KB
jackson-core-asl-1.9.13.jar 227KB
spring-expression-4.0.2.RELEASE.jar 200KB
commons-io-2.4.jar 181KB
spring-context-support-4.0.2.RELEASE.jar 132KB
commons-dbcp-1.2.2.jar 119KB
aspectjrt-1.6.11.jar 113KB
spring-oxm-4.0.2.RELEASE.jar 78KB
commons-fileupload-1.3.1.jar 67KB
activation-1.1.jar 62KB
commons-pool-1.3.jar 61KB
commons-logging-1.1.3.jar 61KB
spring-aspects-4.0.2.RELEASE.jar 51KB
mybatis-spring-1.2.2.jar 48KB
aspectwerkz-core-0.8.1.jar 31KB
slf4j-api-1.7.7.jar 29KB
asm-1.5.3.jar 26KB
asm-util-1.3.4.jar 17KB
slf4j-log4j12-1.7.7.jar 9KB
aopalliance-1.0.jar 4KB
MemCache.java 3KB
MemcachedClientTest.java 3KB
UserServiceInterceptor.java 2KB
MemcachedSpringTest.java 2KB
MemcachedCache.java 2KB
MemcachedCacheManager.java 2KB
UserAction.java 1KB
UserServiceImp.java 1KB
TestMyBatis.java 1KB
User.java 859B
UserDAO.java 336B
UserService.java 213B
.jsdtscope 503B
show.jsp 311B
show.jsp 311B
index.jsp 52B
index.jsp 52B
ssm.log 3.1MB
MANIFEST.MF 107B
MANIFEST.MF 39B
MANIFEST.MF 39B
org.eclipse.wst.jsdt.ui.superType.name 6B
org.eclipse.jdt.core.prefs 430B
org.eclipse.m2e.core.prefs 90B
org.eclipse.core.resources.prefs 84B
.project 1KB
log4j.properties 936B
log4j.properties 936B
log4j.properties 936B
memcached.properties 449B
memcached.properties 407B
memcached.properties 403B
jdbc.properties 211B
jdbc.properties 211B
pom.properties 207B
jdbc.properties 185B
pom.properties 113B
surefire5040643518791186112tmp 5KB
surefire7879004078133827294tmp 134B
SSMTest.war 14.58MB
共 119 条
- 1
- 2
资源评论
这个名字想了很久
- 粉丝: 1521
- 资源: 51
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功