
캐시를 만들면 DB에 최초 접근 이후에는 한번 읽은 데이터는, 요청이 들어오면 DB가 아닌 Cache로 가서 데이터를 바로 받아 오는 방식으로 동작한다.
캐시 솔루션으로 Redis를 사용.
레디스(Redis)는 고성능 key-value 저장소로서 리스트, 해시, 셋 정렬된 셋 등 여러 형식의 자료구조를 지원하는 *NoSQL.

메모리에 상주하면서 RDBMS의 캐시 솔루션으로서 주로 사용되며 라인, 삼성전자, 네이버, 인스타그램 등 여러 IT 기업에서 사용하는 검증된 오픈소스 솔루션.
의존성 라이브러리 추가 (Maven기준) - pom.xml에 추가
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
Redis 서버설정 - application.yml or application.properties 파일에 추가
spring.cache.type=redis
spring.redis.host=localhost
spring.redis.port=6379
SpringBoot에 캐시사용하겠다고 알려주기 - Springboot Main Application Class에 @EnableCaching 어노테이션 추가
@EnableCaching
@SpringBootApplication
public class RedisCacheApplication {
public static void main(String[] args) {
SpringApplication.run(RedisCacheApplication.class, args);
}
}
사용할 서비스 메서드에 어노테이션 달아주기
주요 어노테이션
@Cacheable @CachePut -> 캐시등록
@Cacheble은 캐시가 있으면 캐시의 정보를 가져오고, 없으면 등록한다.
@CacehPut은 무조건 캐시에 저장한다.
@CacheEvict -> 캐시삭제

1학기 최종 프로젝트에서 아파트 거래목록 가져오는 메서드에 적용해봣는데, 속도가 많이 개선되었다.
//https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100
설치경로
NoSQL: Not Only SQL