Spring Boot使用redis做數(shù)據(jù)緩存
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服務(wù)器配置
- # 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 應(yīng)用
- /**
- *此處的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";
- }
- }
效果如圖:
posted on 2015-02-25 10:02 paulwong 閱讀(5276) 評論(3) 編輯 收藏 所屬分類: REDIS