Spring Boot使用redis做数据缓存

1 添加redis支持

在pom.xml中添加

  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-redis</artifactId>
        </dependency>

 

2 redis配置

@Configuration
@EnableCaching
public class RedisCacheConfig {
	@Bean
	public CacheManager cacheManager(
			@SuppressWarnings("rawtypes") RedisTemplate redisTemplate) {
		return new RedisCacheManager(redisTemplate);
	}

	@Bean
	public RedisTemplate<String, String> redisTemplate(
			RedisConnectionFactory factory) {
		final StringRedisTemplate template = new StringRedisTemplate(factory);
		template.setValueSerializer(new Jackson2JsonRedisSerializer<SysUser>(
				SysUser.class)); //请注意这里

		return template;
	}
}

 

3 redis服务器配置

# REDIS (RedisProperties)
spring.redis.database= # database name
spring.redis.host=localhost # server host
spring.redis.password= # server password
spring.redis.port=6379 # connection port
spring.redis.pool.max-idle=8 # pool settings ...
spring.redis.pool.min-idle=0
spring.redis.pool.max-active=8
spring.redis.pool.max-wait=-1
spring.redis.sentinel.master= # name of Redis server
spring.redis.sentinel.nodes= # comma-separated list of host:port pairs

 

4 应用

/**
*此处的dao操作使用的是spring data jpa,使用@Cacheable可以在任意方法上,*比如@Service或者@Controller的方法上
*/
public interface SysUserRepo1 extends CustomRepository<SysUser, Long> {
	@Cacheable(value = "usercache")
	public SysUser findByUsername(String username);
}

 

5 检验

@Controller
public class TestController {
	
	
	@Autowired 
	SysUserRepo1 sysUserRepo1;
	@RequestMapping("/test")
	public @ResponseBody String test(){

		final SysUser loaded = sysUserRepo1.findByUsername("wyf");
		final SysUser cached = sysUserRepo1.findByUsername("wyf");
		
		return "ok";
	} 
}

 

效果如图:



 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐
  • —软件人才免语言低担保 赴美带薪读研!—



你可能感兴趣的:(redis,spring,Boot)