一 .概述
在本节之中,我们引入Redis作为缓存的实现.
二 .环境的搭建
首先我们引入redis的场景启动器.
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
然后我们查看自动配置类:
@Configuration @ConditionalOnClass({ JedisConnection.class, RedisOperations.class, Jedis.class }) @EnableConfigurationProperties(RedisProperties.class) public class RedisAutoConfiguration {
我们发现,redis的配置是存放在RedisProperties类之中,我们查看此类.
@ConfigurationProperties(prefix = "spring.redis") public class RedisProperties { private int database = 0; private String url; private String host = "localhost"; private String password;
我们现在知道,我们的配置都存放在spring.redis之中,那么我们就进行配置.
spring: redis: host: 127.0.0.1 port: 6379
下面我们进行测试:
@RunWith(SpringRunner.class) @SpringBootTest public class RedisTest { @Autowired private StringRedisTemplate redisTemplate; @Test public void test() { this.redisTemplate.opsForValue().set("name", "trek"); } }
我们打开我们的redis客户端进行查看,发现下面的结果:
三 .CacheManager的测试
@RestController public class CacheController { @Resource private CacheService cacheService; @RequestMapping("/cat/{id}") public Cat cat(@PathVariable("id")Integer id) { return this.cacheService.getCatById(id); } }
@Service @Slf4j public class CacheService { @Cacheable(cacheNames= {"cat"},key="#id") public Cat getCatById(Integer id) { log.info("通过{}查询Person",id); return Cat.builder().name("trek").age(12).id(id).build(); } }
我们现在访问url,看看redis之中是否已经有了数据.
我们发现数据已经存在了,但是存放的数据可能不是我们想要的结果.
下一节,我们就去实现我们的序列化的功能
原文地址:https://www.cnblogs.com/trekxu/p/9514536.html
时间: 2024-08-29 01:11:36