memcached和spring集成

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配置文件,配置内容如下:

<?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.csdn.net/detail/zhsj1106/4507631





  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值