Redis的安装、部署和与SpringCache整合
Redis的安装、部署和与SpringCache整合
安装
去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服务器。
与Spring Cache整合
与Spring Cache整合
首先在pom.xml中添加jedis和spring data redis依赖:
org.springframework.data
spring-data-redis
${spring-redis}
redis.clients
jedis
${jedis}
因为我们将要使用jackson提供class序列化功能,因此还需要添加:
org.codehaus.jackson
jackson-mapper-asl
1.9.4
然后,在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;
}
另外,可以配置CacheManager来设置过期时间:
redisCacheManager.setDefaultExpiration(TimeUnit.MINUTES.toSeconds(30)); // 过期时间, 单位是秒
评论暂时关闭