关闭

Spring与Memcached整合

198人阅读 评论(0) 收藏 举报
分类:


一、前期准备

1)  下载memcached服务端memcached-1.2.6-win32-bin.zip,地址:http://code.jellycan.com/memcached/

2)  下载java版客户端 java_memcached-release_2.6.1.zip
3)  解压缩memcached-1.2.6-win32-bin.zip到指定目录,例如:D:\memcached-1.2.6-win32 ,在终端(即cmd命令行界面)
 
 
[html] view plaincopy
  1. D:\memcached-1.2.6-win32\memcached.exe -d install  
  2. D:\memcached\memcached.exe -d start  

这样memcache就会作为windows系统服务在每次开机时启动memcache服务。
[html] view plaincopy
  1. -p 监听的端口   
  2. -l 连接的IP地址, 默认是本机   
  3. -d start 启动memcached服务   
  4. -d restart 重起memcached服务   
  5. -d stop|shutdown 关闭正在运行的memcached服务   
  6. -d install 安装memcached服务   
  7. -d uninstall 卸载memcached服务   
  8. -u 以的身份运行 (仅在以root运行的时候有效)   
  9. -m 最大内存使用,单位MB。默认64MB   
  10. -M 内存耗尽时返回错误,而不是删除项   
  11. -c 最大同时连接数,默认是1024   
  12. -f 块大小增长因子,默认是1.25   
  13. -n 最小分配空间,key+value+flags默认是48   
  14. -h 显示帮助   

二、实例代码
spring-memcache.xml  配置pool和memcache客户端
[html] view plaincopy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2.   
  3. <beans xmlns="http://www.springframework.org/schema/beans"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xmlns:context="http://www.springframework.org/schema/context"  
  6.     xmlns:aop="http://www.springframework.org/schema/aop"  
  7.     xmlns:tx="http://www.springframework.org/schema/tx"  
  8.     xsi:schemaLocation="http://www.springframework.org/schema/beans  
  9.     http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
  10.     http://www.springframework.org/schema/context  
  11.     http://www.springframework.org/schema/context/spring-context-2.5.xsd  
  12.     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd  
  13.     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">  
  14.   
  15.   
  16.     <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  17.         <property name="locations">  
  18.             <list>  
  19.                 <value>classpath:properties/memcache.properties</value>  
  20.             </list>  
  21.         </property>  
  22.     </bean>  
  23.   
  24.     <bean id="memcachedPool" class="com.danga.MemCached.SockIOPool"  
  25.         factory-method="getInstance" init-method="initialize"  
  26.         destroy-method="shutDown">  
  27.   
  28.         <constructor-arg>  
  29.             <value>memCachedPool</value>  
  30.         </constructor-arg>  
  31.           
  32.         <property name="servers">  
  33.             <list>  
  34.                 <value>${memcache.server}</value>  
  35.             </list>  
  36.         </property>  
  37.           
  38.         <property name="initConn">  
  39.             <value>${memcache.initConn}</value>  
  40.         </property>  
  41.           
  42.         <property name="minConn">  
  43.             <value>${memcache.minConn}</value>  
  44.         </property>  
  45.   
  46.         <property name="maxConn">  
  47.             <value>${memcache.maxConn}</value>  
  48.         </property>  
  49.   
  50.         <property name="maintSleep">  
  51.             <value>${memcache.maintSleep}</value>  
  52.         </property>  
  53.   
  54.         <property name="nagle">  
  55.             <value>${memcache.nagle}</value>  
  56.         </property>  
  57.   
  58.         <property name="socketTO">  
  59.             <value>${memcache.socketTO}</value>  
  60.         </property>  
  61.     </bean>  
  62.   
  63.     <bean id="memCachedClient" class="com.danga.MemCached.MemCachedClient">  
  64.         <constructor-arg>  
  65.             <value>memCachedPool</value>  
  66.         </constructor-arg>  
  67.     </bean>  
  68.   
  69. </beans>  

memcache.properties memcache的连接属性 这是本机做服务器的,如果是其它机器,换ip 端口即可
[html] view plaincopy
  1. memcache.server=127.0.0.1:11211  
  2. memcache.initConn=20  
  3. memcache.minConn=10  
  4. memcache.maxConn=50  
  5. memcache.maintSleep=3000  
  6. memcache.nagle=false  
  7. memcache.socketTO=3000   

TestMemcache.java测试类   用的是junit4

[html] view plaincopy
  1. package com.pis.memcache;  
  2.   
  3. import org.junit.Before;  
  4. import org.junit.Test;  
  5. import org.springframework.context.ApplicationContext;  
  6. import org.springframework.context.support.ClassPathXmlApplicationContext;  
  7.   
  8. import com.danga.MemCached.MemCachedClient;  
  9.   
  10. public class TestMemcache {  
  11.     MemCachedClient memCachedClient;  
  12.     @Before  
  13.     public void beforeTest(){  
  14.           
  15.         ApplicationContext atx = new ClassPathXmlApplicationContext("/spring/spring-memcache.xml");  
  16.         memCachedClient = (MemCachedClient)atx.getBean("memCachedClient");  
  17.     }  
  18.       
  19.       
  20.     @Test  
  21.     public void TestMem(){  
  22.         memCachedClient.set("name", "han");  
  23.           
  24.         System.out.println(memCachedClient.get("name"));  
  25.     }  
  26.       
  27.       
  28.       
  29. }  
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8844次
    • 积分:218
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:25篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论