码迷,mamicode.com
首页 > 编程语言 > 详细

spring-simple- memcache那些事二

时间:2015-06-04 06:28:56      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

spring-simple- memcache那些事二

maven依赖

<!-- simple-spring-memcached -->
		<dependency>
			<groupId>com.google.code.simple-spring-memcached</groupId>
			<artifactId>simple-spring-memcached</artifactId>
			<version>3.5.0</version>
		</dependency>
		<dependency>
			<groupId>com.google.code.simple-spring-memcached</groupId>
			<artifactId>xmemcached-provider</artifactId>
			<version>3.5.0</version>
		</dependency>
		<dependency>
			<groupId>com.googlecode.xmemcached</groupId>
			<artifactId>xmemcached</artifactId>
			<version>2.0.0</version>
		</dependency>

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:cache="http://www.springframework.org/schema/cache"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
						http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
						http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd">
	<aop:aspectj-autoproxy proxy-target-class="true"/>
	<import resource="classpath*:simplesm-context.xml" />
	<bean class="com.google.code.ssm.Settings">
		<property name="order" value="1" />
	</bean>
	<bean name="defaultMemcachedClient" class="com.google.code.ssm.CacheFactory">
		<property name="cacheClientFactory">
			<bean
				class="com.google.code.ssm.providers.xmemcached.MemcacheClientFactoryImpl" />
		</property>
		<property name="addressProvider">
			<bean class="com.google.code.ssm.config.DefaultAddressProvider">
				<property name="address" value="127.0.0.1:11211" />
			</bean>
		</property>
		<property name="configuration">
			<bean class="com.google.code.ssm.providers.CacheConfiguration">
				<property name="consistentHashing" value="true" />
			</bean>
		</property>
	</bean>
</beans>

测试用例

package com.biz.serivce;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Service;

import com.google.code.ssm.Cache;
import com.google.code.ssm.api.ParameterValueKeyProvider;
import com.google.code.ssm.api.ReadThroughAssignCache;
import com.google.code.ssm.api.ReadThroughSingleCache;

@Service
public class TestServiceImpl {
	@Autowired
	private Cache cache;
	@ReadThroughSingleCache(namespace = "def", expiration = 3)
	public Long getTest(@ParameterValueKeyProvider Long key) throws Exception{
		System.out.println("key="+key);
		return key;
	}
}

package com.test;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.biz.serivce.TestServiceImpl;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:applicationContext.xml"}) 
public class CacheTest {
	@Autowired
	private TestServiceImpl service;
	@Test
	public void mainTest() throws Exception{
		System.out.println("mainTest key="+service.getTest(1L));
		System.out.println("mainTest key="+service.getTest(1L));
		Thread.sleep(5*1000);
		System.out.println("mainTest key="+service.getTest(1L));
	}
}


spring-simple- memcache那些事二

标签:

原文地址:http://my.oschina.net/orgsky/blog/424544

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!