spring集成memcached

转载自:http://blog.csdn.net/zhsj1106/article/details/7877581

memcached和spring集成(主要说spring和memcached的集成,spring本身的东东就不多说啦)

本文demo下载http://download.csdn.net/detail/zhsj1106/4507631

接上篇 :在linux服务器上安装memcached  http://blog.csdn.net/zhsj1106/article/details/7877542

1、添加jar包,下载地址:http://www.kuaipan.cn/file/id_7845608170131203.htm

2、新建spring配置文件,配置内容如下:

[html]  view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"  
  4.     xmlns:tx="http://www.springframework.org/schema/tx"  
  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
  6.            http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  
  7.            http://www.springframework.org/schema/aop   
  8.            http://www.springframework.org/schema/aop/spring-aop-2.0.xsd  
  9.            http://www.springframework.org/schema/tx   
  10.            http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"  
  11.     default-autowire="autodetect" default-lazy-init="false">  
  12.   
  13.     <bean id="sockIOPool" class="com.danga.MemCached.SockIOPool"  
  14.         factory-method="getInstance" init-method="initialize" destroy-method="shutDown">  
  15.         <constructor-arg>  
  16.             <value>neeaMemcachedPool</value>  
  17.         </constructor-arg>  
  18.         <property name="servers">  
  19.             <list>  
  20.                 <value>${memcache.server}</value>  
  21.             </list>  
  22.         </property>  
  23.         <property name="initConn">  
  24.             <value>${memcache.initConn}</value>  
  25.         </property>  
  26.         <property name="maxConn">  
  27.             <value>${memcache.maxConn}</value>  
  28.         </property>  
  29.         <property name="maintSleep">  
  30.             <value>${memcache.maintSleep}</value>  
  31.         </property>  
  32.         <property name="nagle">  
  33.             <value>${memcache.nagle}</value>  
  34.         </property>  
  35.         <property name="socketTO">  
  36.             <value>${memcache.socketTO}</value>  
  37.         </property>  
  38.     </bean>  
  39.   
  40.     <bean id="memcachedClient" class="com.danga.MemCached.MemCachedClient">  
  41.         <constructor-arg>  
  42.             <value>neeaMemcachedPool</value>  
  43.         </constructor-arg>  
  44.         <property name="compressEnable">  
  45.             <value>true</value>  
  46.         </property>  
  47.         <property name="compressThreshold">  
  48.             <value>4096</value>  
  49.         </property>  
  50.     </bean>  
  51. </beans>  

3、新建memcache.properties,配置如下:

[plain]  view plain copy
  1. #memcached服务端ip和端口号  
  2. memcache.server=192.168.136.129:12000  
  3. #连接池初始连接数  
  4. memcache.initConn=5  
  5. #连接池最小连接数  
  6. memcache.minConn=5  
  7. #连接池最大连接数  
  8. memcache.maxConn=250  
  9. #主线程睡眠时间  
  10. memcache.maintSleep=30  
  11. #TCP参数  
  12. memcache.nagle=false  
  13. memcache.socketTO=3000  

4、测试

      测试基类:

[java]  view plain copy
  1. package com.zhsj.memcached;  
  2.   
  3. import junit.framework.TestCase;  
  4.   
  5. import org.springframework.context.ApplicationContext;  
  6. import org.springframework.context.support.ClassPathXmlApplicationContext;  
  7.   
  8. public class AbstractTransactionalTests extends TestCase {  
  9.     private ApplicationContext context;  
  10.   
  11.     @Override  
  12.     protected void setUp() throws Exception {  
  13.         String[] config = { "spring/applicationContext.xml",  
  14.                 "spring/applicationContext-memcache.xml"};  
  15.         this.context = new ClassPathXmlApplicationContext(config);  
  16.         super.setUp();  
  17.     }  
  18.   
  19.     public ApplicationContext getContext() {  
  20.         return context;  
  21.     }  
  22.   
  23.     public void setContext(ApplicationContext context) {  
  24.         this.context = context;  
  25.     }  
  26. }  

      测试类

[java]  view plain copy
  1. package com.zhsj.memcached;  
  2.   
  3. import com.danga.MemCached.MemCachedClient;  
  4. import com.zhsj.memcached.model.User;  
  5.   
  6. public class MemcacheTest extends AbstractTransactionalTests {  
  7.   
  8.     private MemCachedClient memcachedClient;  
  9.   
  10.     private void init() {  
  11.         this.memcachedClient = (MemCachedClient) getContext().getBean(  
  12.                 "memcachedClient");  
  13.     }  
  14.   
  15.     public void testAdd() {  
  16.         init();  
  17.         System.out.println(memcachedClient.set("memcached""memcachedtest"));  
  18.     }  
  19.   
  20.     public void testAddUser() {  
  21.         init();  
  22.         User user = new User();  
  23.         user.setUserName("memcached");  
  24.         System.out.println(memcachedClient.set("user", user));  
  25.     }  
  26.   
  27. }  

打印出输出true表示成功。memcached的api什么的,自己去参考吧。

5、需要说明的是,如果向memcached添加对象的话,对象必须是序列化滴。。。

6、DEMO下载地址:http://download.csdn.net/detail/zhsj1106/4507631

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值