一、搭建memcache的server端
1、下载服务端的zip文件:memcached-win64.zip,注意有32位和64位的区别之分。
2、解压步骤1的文件,在memcached.exe所在的文件夹内,通过cmd命令行执行"memcached.exe start"命令启动server端,例如:
D:\software\memcached>memcached.exe start
可启动任务管理器查看任务,是否有memcache进程。
二、web工程使用memcache
1、maven工程配置依赖
因为maven的client端不属于maven项目,因此需要做如下操作:
1)下载jar文件到本地,例如:java_memcached-release_2.5.3.jar
2)在java_memcached-release_2.5.3.jar文件所在文件夹中,通过cmd命令行执行以下命令(前提是本地安装好maven):
mvn install:install-file -DgroupId=com.danga -DartifactId=memcached -Dversion=2.5.3 -Dfile=java_memcached-release_2.5.3.jar -Dpackaging=jar -DgeneratePom=true
2、修改pom.xml文件增加依赖
<dependency>
<groupId>com.danga</groupId>
<artifactId>memcached</artifactId>
<version>2.5.3</version>
</dependency>
3、在applicationContext.xml中配置服务端和客户端的bean。
server端:
<bean id="memcachedPool" class="com.danga.MemCached.SockIOPool" factory-method="getInstance"
init-method="initialize" destroy-method="shutDown">
<property name="servers">
<list>
<value>127.0.0.1:11211</value>
</list>
</property>
<property name="initConn">
<value>20</value>
</property>
<property name="minConn">
<value>10</value>
</property>
<property name="maxConn">
<value>50</value>
</property>
<property name="maintSleep">
<value>30</value>
</property>
<property name="nagle">
<value>false</value>
</property>
<property name="socketTO">
<value>3000</value>
</property>
</bean>
4、clien端
<bean id="memcachedClient" class="com.danga.MemCached.MemCachedClient" />
三、 编写代码
@Autowired
private MemCachedClient memCachedClient;
public List<MyInfo> getMyInfoList(String clientIp,boolean flag){
if(!flag){
memCachedClient.delete(clientIp);
}
Object obj = this.memCachedClient.get(clientIp);
if(obj != null){
return (List<MyInfo>)obj;
}else{
List<MyInfo> list = this.myDao.getMyInfoList();
boolean result = memCachedClient.set(clientIp, list, 24*3600*1000);
return list;
}
}