一、前期准备
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命令行界面)
- D:\memcached-1.2.6-win32\memcached.exe -d install
- D:\memcached\memcached.exe -d start
这样memcache就会作为windows系统服务在每次开机时启动memcache服务。
- -p 监听的端口
- -l 连接的IP地址, 默认是本机
- -d start 启动memcached服务
- -d restart 重起memcached服务
- -d stop|shutdown 关闭正在运行的memcached服务
- -d install 安装memcached服务
- -d uninstall 卸载memcached服务
- -u 以的身份运行 (仅在以root运行的时候有效)
- -m 最大内存使用,单位MB。默认64MB
- -M 内存耗尽时返回错误,而不是删除项
- -c 最大同时连接数,默认是1024
- -f 块大小增长因子,默认是1.25
- -n 最小分配空间,key+value+flags默认是48
- -h 显示帮助
二、实例代码
spring-memcache.xml 配置pool和memcache客户端
- <?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:context="http://www.springframework.org/schema/context"
- 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.5.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-2.5.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
- http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
- <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="locations">
- <list>
- <value>classpath:properties/memcache.properties</value>
- </list>
- </property>
- </bean>
- <bean id="memcachedPool" class="com.danga.MemCached.SockIOPool"
- factory-method="getInstance" init-method="initialize"
- destroy-method="shutDown">
- <constructor-arg>
- <value>memCachedPool</value>
- </constructor-arg>
- <property name="servers">
- <list>
- <value>${memcache.server}</value>
- </list>
- </property>
- <property name="initConn">
- <value>${memcache.initConn}</value>
- </property>
- <property name="minConn">
- <value>${memcache.minConn}</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>memCachedPool</value>
- </constructor-arg>
- </bean>
- </beans>
memcache.properties memcache的连接属性 这是本机做服务器的,如果是其它机器,换ip 端口即可
- memcache.server=127.0.0.1:11211
- memcache.initConn=20
- memcache.minConn=10
- memcache.maxConn=50
- memcache.maintSleep=3000
- memcache.nagle=false
- memcache.socketTO=3000
TestMemcache.java测试类 用的是junit4
- package com.pis.memcache;
- import org.junit.Before;
- import org.junit.Test;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- import com.danga.MemCached.MemCachedClient;
- public class TestMemcache {
- MemCachedClient memCachedClient;
- @Before
- public void beforeTest(){
- ApplicationContext atx = new ClassPathXmlApplicationContext("/spring/spring-memcache.xml");
- memCachedClient = (MemCachedClient)atx.getBean("memCachedClient");
- }
- @Test
- public void TestMem(){
- memCachedClient.set("name", "han");
- System.out.println(memCachedClient.get("name"));
- }
- }