spring boot配置 Redis

pom依赖:

		
			org.springframework.boot
			spring-boot-starter-data-redis
		
		
			redis.clients
			jedis
			2.9.0
		

然后在配置文件 application.properties中加上redis 的配置,见:
https://github.com/lifan2/lfLearn/blob/master/src/main/resources/application.properties
然后是自定义RedisConfig.java,注意该类上有@EnableCaching,见:https://github.com/lifan2/lfLearn/blob/master/src/main/java/com/lflearn/core/redis/RedisConfig.java
redis使用见GitHub上的RedisTestController。

redis的缓存如何使用?

析:见下面代码

@RequestMapping(value = "/test3", method = RequestMethod.GET)
    @Cacheable(value = "user-key")
    public UsersDO test3(String id) {
        UsersDO user = usersDOMapper.selectByPrimaryKey(Long.valueOf(id));
        System.out.println("若下面没出现“无缓存的时候调用”字样且能打印出数据表示测试成功");
        return user;
    }

析:在方法上加上@Cacheable,表示该方法的返回值会被缓存到redis中,@Cacheable(value = “user-key”),就会在redis中创建一个ZSet,它的key为 “user-key~keys”,每次调用这个接口时,就会生成一个缓存的key,例如com.lflearn.core.test.JustControllertest319339678,它是根据RedisConfig.java里的
keyGenerator()方法规则产生的。在调用接口时,有2个redis数据添加,一是把缓存的key加到上面的ZSet,二是添加 <缓存的key,接口返回值对应的字符串>到redis,等下次请求同一个接口(并且参数相同时),会从redis里把上次缓存的返回值取出来,不会再次走方法里的执行过程(比如这里的查mysql),所以有缓存功能能减少数据库的查询。

spring boot配置 Redis_第1张图片

你可能感兴趣的:(Redis)