Redis conncetion pool 설정 관련 하여 주의해야 될 부분은 springboot1.x 에서 spring.redis.pool 를 사용한다.
1.x 에서는 jedis 를 사용하고
2.x 에서는 lettuce 를 사용한다.
테스트 코드를 작성
@Slf4j
@RunWith(SpringRunner.class)
@SpringBootTest
public class RedisCacheDemoApplicationTests {
@Autowired
private UserRepository userRepository;
@Autowired
private CacheManager cacheManager;
@Test
public void test() throws Exception {
System.out.println("CacheManager type : " + cacheManager.getClass());
userRepository.save(new User("AAA", 10));
User u1 = userRepository.findByName("AAA");
System.out.println("첫번째 조회 : " + u1.getAge());
User u2 = userRepository.findByName("AAA");
System.out.println("두번째 조회 : " + u2.getAge());
}
}
CacheManager type : class org.springframework.data.redis.cache.RedisCacheManager
Hibernate: select next_val as id_val from hibernate_sequence for update
Hibernate: update hibernate_sequence set next_val= ? where next_val=?
Hibernate: insert into user (age, name, id) values (?, ?, ?)
2020-08-12 16:25:26.954 INFO 68282 --- [ main] io.lettuce.core.EpollProvider : Starting without optional epoll library
2020-08-12 16:25:26.955 INFO 68282 --- [ main] io.lettuce.core.KqueueProvider : Starting without optional kqueue library
Hibernate: select user0_.id as id1_0_, user0_.age as age2_0_, user0_.name as name3_0_ from user user0_ where user0_.name=?
첫번째 조회 : 10
두번째 조회 : 10
로그에서 찍힌 대로
CacheManager type : class org.springframework.data.redis.cache.RedisCacheManager