标签:redis
去http://redis.io/下载最新稳定版的源码。解压,进入解压目录,执行
make
make install
之后在src/
目录下会多出以下几个文件:
redis-server
redis-benchmark
redis-cli
redis-conf
将其copy
至/usr/redis
目录下即可。
修改redis-conf
文件,添加:
requirepass 111111
将连接密码设为111111
。然后执行
./redis-server redis-conf
即可启动redis服务器。
首先在pom.xml
中添加jedis和spring data redis依赖:
<!-- Spring Data Redis -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>${spring-redis}</version>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>${jedis}</version>
</dependency>
因为我们将要使用jackson提供class序列化功能,因此还需要添加:
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.4</version>
</dependency>
然后,在spring配置文件中添加:
<!-- Redis缓存配置 -->
<beans:bean id="redisConnectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" >
<beans:property name="hostName" value="XX.XX.XX.XX" />
<beans:property name="password" value="111111" />
</beans:bean>
<!-- Serializer -->
<beans:bean id="keySerializer" class="org.springframework.data.redis.serializer.StringRedisSerializer" />
<beans:bean id="valueSerializer" class="org.springframework.data.redis.serializer.JacksonJsonRedisSerializer" />
<!-- redis template -->
<beans:bean id="redisTemplate"
class="org.springframework.data.redis.core.StringRedisTemplate">
<beans:property name="connectionFactory" ref="redisConnectionFactory" />
<beans:property name="keySerializer" ref="keySerializer" />
<beans:property name="valueSerializer" ref="valueSerializer" />
</beans:bean>
<!-- cache manager -->
<beans:bean id="cacheManager" class="org.springframework.data.redis.cache.RedisCacheManager">
<beans:constructor-arg name="template" ref="redisTemplate" />
</beans:bean>
完成以上工作后,就可以在service方法中使用@Cacheable
方法了:
@Override
@Transactional(readOnly = true)
@Cacheable(value = "cache", key = "#username")
public MemberModel findMember(String username, boolean isWired) {
MemberModel mem = memMapper.selectByUsername(username);
CheckUtils.nullCheck(mem);
return mem;
}
但是使用spring cache有个缺点,就是无法设置cache过期时间。如果有这方面需求,就必须直接使用jedis
客户端而不是spring cache
了。
标签:redis
原文地址:http://blog.csdn.net/neosmith/article/details/46490971