spring boot配置 Redis

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tonghuawanli/article/details/84070084

pom依赖:

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
		</dependency>
		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>2.9.0</version>
		</dependency>

然后在配置文件 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),所以有缓存功能能减少数据库的查询。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/tonghuawanli/article/details/84070084