标签:
<!-- 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>
<?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)); } }
标签:
原文地址:http://my.oschina.net/orgsky/blog/424544