memcached和spring集成(主要说spring和memcached的集成,spring本身的东东就不多说啦)
本文demo下载http://download.iyunv.com/detail/zhsj1106/4507631
接上篇 :在linux服务器上安装memcached http://blog.iyunv.com/zhsj1106/article/details/7877542
1、添加jar包,下载地址:http://www.kuaipan.cn/file/id_7845608170131203.htm
2、新建spring配置文件,配置内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"
default-autowire="autodetect" default-lazy-init="false">
<bean id="sockIOPool" class="com.danga.MemCached.SockIOPool"
factory-method="getInstance" init-method="initialize" destroy-method="shutDown">
<constructor-arg>
<value>neeaMemcachedPool</value>
</constructor-arg>
<property name="servers">
<list>
<value>${memcache.server}</value>
</list>
</property>
<property name="initConn">
<value>${memcache.initConn}</value>
</property>
<property name="maxConn">
<value>${memcache.maxConn}</value>
</property>
<property name="maintSleep">
<value>${memcache.maintSleep}</value>
</property>
<property name="nagle">
<value>${memcache.nagle}</value>
</property>
<property name="socketTO">
<value>${memcache.socketTO}</value>
</property>
</bean>
<bean id="memcachedClient" class="com.danga.MemCached.MemCachedClient">
<constructor-arg>
<value>neeaMemcachedPool</value>
</constructor-arg>
<property name="compressEnable">
<value>true</value>
</property>
<property name="compressThreshold">
<value>4096</value>
</property>
</bean>
</beans>
3、新建memcache.properties,配置如下:
#memcached服务端ip和端口号
memcache.server=192.168.136.129:12000
#连接池初始连接数
memcache.initConn=5
#连接池最小连接数
memcache.minConn=5
#连接池最大连接数
memcache.maxConn=250
#主线程睡眠时间
memcache.maintSleep=30
#TCP参数
memcache.nagle=false
memcache.socketTO=3000
4、测试
测试基类:
package com.zhsj.memcached;
import junit.framework.TestCase;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class AbstractTransactionalTests extends TestCase {
private ApplicationContext context;
@Override
protected void setUp() throws Exception {
String[] config = { "spring/applicationContext.xml",
"spring/applicationContext-memcache.xml"};
this.context = new ClassPathXmlApplicationContext(config);
super.setUp();
}
public ApplicationContext getContext() {
return context;
}
public void setContext(ApplicationContext context) {
this.context = context;
}
}
测试类
package com.zhsj.memcached;
import com.danga.MemCached.MemCachedClient;
import com.zhsj.memcached.model.User;
public class MemcacheTest extends AbstractTransactionalTests {
private MemCachedClient memcachedClient;
private void init() {
this.memcachedClient = (MemCachedClient) getContext().getBean(
"memcachedClient");
}
public void testAdd() {
init();
System.out.println(memcachedClient.set("memcached", "memcachedtest"));
}
public void testAddUser() {
init();
User user = new User();
user.setUserName("memcached");
System.out.println(memcachedClient.set("user", user));
}
}
打印出输出true表示成功。memcached的api什么的,自己去参考吧。
5、需要说明的是,如果向memcached添加对象的话,对象必须是序列化滴。。。
6、DEMO下载地址:http://download.iyunv.com/detail/zhsj1106/4507631
版权声明:本文为博主原创文章,未经博主允许不得转载。 |